我在包含XML的数据库中有很多行,并且试图编写Python脚本来计算特定节点属性的实例。
我的树看起来像:
<foo> <bar> <type foobar="1"/> <type foobar="2"/> </bar> </foo>
如何使用Python访问XML中的属性“1”和“2”?
我建议ElementTree。相同的API还有其他兼容的实现,例如lxml和cElementTree在Python标准库本身中。但是,在这种情况下,他们主要添加的是更高的速度-编程的难易程度取决于ElementTree定义的API 。
lxml
cElementTree
Python
ElementTree
首先root用XML 构建XML 的Element实例,例如使用XML函数,或者通过解析文件,例如:
root
XML
Element
import xml.etree.ElementTree as ET root = ET.parse('thefile.xml').getroot()
或中显示的许多其他方式中的任何一种ElementTree。然后执行以下操作:
for type_tag in root.findall('bar/type'): value = type_tag.get('foobar') print(value)
和类似的,通常很简单的代码模式。