Python 2.6.5 xml.etree.ElementTreeライブラリを使用していくつかの問題が発生しています。具体的には、Iセットアップ以下Pythonのxml.etree.ElementTreeリーフ要素の予期しないブール動作
>>> import xml.etree.ElementTree as etree
>>> xml = etree.fromstring("<a><b><c>xy</c></b></a>")
のような単純なXML要素iが内側の要素ノードにアクセスして、ライブラリに問題、例えば持っていない場合:しかし、私は奇妙に遭遇しています
>>> etree.tostring(xml.find('b'))
'<b><c>xy</c></b>'
>>> xml.find('b') == None
False
>>> bool(xml.find('b'))
True
をリーフ要素ノードのブール解釈参照:
>>> etree.tostring(xml.find('b/c'))
'<c>xy</c>'
>>> xml.find('b/c') == None
False
>>> bool(xml.find('b/c'))
False
注最後のコマンドで、要素xml.find( 'B/C')が明らかに非なしであり、偽と評価されます。私はイディオムを使用することができないので、特に厄介です。リーフ要素が存在するかどうかを確認するには、イディオムを使用できないので、特に迷惑です。 ('xml.find(' b/c ')を明示的にチェックする必要があります!=なし')
誰かがこれを説明することができますか?
補足:他のPythonライブラリにxmlを処理するよう求めているわけではありません。指定したライブラリパッケージの動作を理解したいだけです。 – MRA