从spécific xml标记获取属性

2024-03-29 15:17:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python新手,我有一个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>

我想从每个标记“PARAMETER”中获得differents属性值。我尝试从lxml使用etree,但没有找到任何有关属性的信息

谢谢大家!


Tags: 文件name属性parametertypeunitintegerdescription
1条回答
网友
1楼 · 发布于 2024-03-29 15:17:41

我想这就是你想要的。找到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']

相关问题 更多 >