私はこのようなXMLがあります。効率的な方法は
<a>
<b>hello</b>
<b>world</b>
</a>
<x>
<y></y>
</x>
<a>
<b>first</b>
<b>second</b>
<b>third</b>
</a>
私はすべての<a>
と<b>
タグを反復処理する必要があるが、しかし、私は、ドキュメント内にあるどのようにそれらの多くは知りません。
from lxml import etree
doc = etree.fromstring(xml)
atags = doc.xpath('//a')
for a in atags:
btags = a.xpath('b')
for b in btags:
print b
それは動作しますが、私はかなり大きなファイルを持っている、とcProfile
はxpath
は使用することは非常に高価であることを私に示していますので、私はそれを処理するためにxpath
を使用しています。
xml要素の無制限数を反復処理する効率的な方法があるのだろうか?
「かなり大きい」をメガバイトに変換してください。 –