mam xml jak poniżej:skutecznym sposobem iteracyjne bezpo¶rednio elementów XML
<a>
<b>hello</b>
<b>world</b>
</a>
<x>
<y></y>
</x>
<a>
<b>first</b>
<b>second</b>
<b>third</b>
</a>
muszę wykonać iterację wszystkich <a>
i <b>
tagów, ale nie wiem, ilu z nich są w dokumencie. Więc używam xpath
obsłużyć że:
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
To działa, ale mam dość duże pliki, a cProfile
xpath
pokazuje mi, że jest bardzo drogie w użyciu.
Zastanawiam się, może istnieje skuteczniejszy sposób iteracji poprzez nieokreśloną liczbę elementów xml?
Proszę przetłumaczyć „bardzo duży” w megabajtach. –