0
我想從一堆xml文件中提取一些數據。現在,問題是所有文件的結構不完全相同,因此,只是迭代孩子並提取值很困難。Xml - 使用Python查找元素標籤
是否有一個getElementByTag()
Python的這種XML文件的方法?我已經看到,這種方法可用於C#,C++用戶,但找不到Python的任何內容。
任何幫助將不勝感激!
我想從一堆xml文件中提取一些數據。現在,問題是所有文件的結構不完全相同,因此,只是迭代孩子並提取值很困難。Xml - 使用Python查找元素標籤
是否有一個getElementByTag()
Python的這種XML文件的方法?我已經看到,這種方法可用於C#,C++用戶,但找不到Python的任何內容。
任何幫助將不勝感激!
是的,在包xml.etree中,您可以找到與XML相關的內置函數。 (也可用於python2)
您正在尋找的一個是findall
。
例如:
import xml.etree.ElementTree as ET
tree = ET.fromstring(some_xml_data)
all_name_elements = tree.findall('*/name')
有了:
In [1]: some_xml_data = "<help><person><name>dean</name></person></help>"
我得到如下:
In [10]: tree.findall("*/name")
Out[10]: [<Element 'name' at 0x7ff921edd390>]
'findall'只搜索在孩子的水平。但是,我一直在尋找一直到樹底的東西。 –
如果使用'findAll'作爲樹的根元素,它將搜索所有子元素。您也可以在ElementTree對象上使用它,而不是根元素,然後它還會搜索根。 –
這對我不起作用。它只搜索兒童級別,沒有低於該級別。另外,您發佈的答案中的語法不正確。謝謝! –