要素内のテキストを検索する組み込み関数があるかどうかを尋ねていますか? lxml
のetree
パーサーを使用して独自の検索ルーチンを作成するのは非常に簡単です。例えば:
test.xml
<test>
<test1>
error
</test1>
<test2>
<test3>
error
</test3>
</test2>
</test>
コマンドラインから:
>>> import lxml.etree as etree
>>> for event, element in etree.iterparse("test.xml"):
... # Print the tag of a matching element
... if element.text.strip() == "error":
... print element.tag
...
test1
test3
編集: このルートにたどり着き、XML 名前空間をいじる必要がない場合は、xml.etree.cElementTree
代わりにチェックアウトすることをお勧めしますlxml.etree
。これは Python の標準モジュールに含まれており、同等かわずかに高速ですlxml.etree
。