Предположим, что у меня есть следующий XML:Как искать etree с помощью LXML как BeautifulSoup
<?xml version="1.0" encoding="utf-8"?>
<FeedType xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://foo.com/bar" xsi:schemaLocation="https://foo.com/bar https://foo.com/bar/arr.xsd" value="Type">
<ElementName value='Type'>
<DataIWant>
stuff
</DataIWant>
<DataIWant>
other stuff
</DataIWant>
</ElementName>
</FeedType>
И я хочу, чтобы получить все в ElementName
теге.
В BeautifulSoup, можно было бы назвать
soup.find_all('ElementName')
Что бы вернуть дерево с ElementName
корнем.
Как это сделать в lxml?
LXML имеет метод FindAll ... вы пытались использовать его еще? http://lxml.de/api/lxml.etree._Element-class.html#findall – kpie
с использованием 'root.findall ('ElementName')' возвращает None. –
@shivsn Если вы попытаетесь использовать ответ там, вы обнаружите, что он возвращает 'None' или' [] 'неправильно для моего xml. пример кода: 'XML = (' XML версия = "1.0" кодирование = "UTF-8"?> вещи другие вещи ElementName> «) ' ' корень = etree. fromstring (xml) ' ' print (root.findall ("ElementName")) ' –