<?xml version="1.0" ?>
<data>
<test >
<f1 />
</test >
<test2 >
<test3>
<f1 />
</test3>
</test2>
<f1 />
</data>
Используя lxml возможно находить рекурсивно для тега "f1"? Я попробовал findall метод, но он работает только на непосредственных детей.
Я думаю, что должен пойти для BeautifulSoup для этого!!!
Вы можете использовать XPath для рекурсивного поиска:
>>> from lxml import etree
>>> q = etree.fromstring('<xml><hello>a</hello><x><hello>b</hello></x></xml>')
>>> q.findall('hello') # Tag name, first level only.
[<Element hello at 414a7c8>]
>>> q.findall('.//hello') # XPath, recursive.
[<Element hello at 414a7c8>, <Element hello at 414a818>]