从特定的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']