从特定的XML标签
问题描述:
获得属性我是新来的Python和我有一个XML文件至极看起来是这样的:从特定的XML标签
<PARAMETERS>
<PARAMETER name="parameter_1" type="INTEGER" unit="m" description="parameter_1 description" defaultValue="10"> <RUBRIC name="ENG"/> </PARAMETER>
<PARAMETER name="parameter_2" type="REAL" unit="ft" description="parameter_2 description" defaultValue="5"> <RUBRIC name="ENG"/> </PARAMETER>
.
.
.
</PARAMETERS>
我想获得的型动物从每个tag“参数”的属性值。我试图使用lxml中的etree,但是我没有找到关于属性的任何信息。
谢谢!
答
我认为这是你想要的。找到PARAMETER
元素并将其放入required_elements
。然后在列表理解中询问它的所有属性。
>>> from lxml import etree
>>> tree = etree.parse('temp.xml')
>>> required_elements = tree.xpath('.//PARAMETER')
>>> for element in required_elements:
... [element.attrib[_] for _ in ['name', 'type', 'unit', 'description', 'defaultValue']]
...
['parameter_1', 'INTEGER', 'm', 'parameter_1 description', '10']
['parameter_2', 'REAL', 'ft', 'parameter_2 description', '5']