使用python 3解析XML子元素
我有一个如下所示的 XML 文件:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<geoEventDefinition guid="3ab37e92-825c-4fdf-afa6-7b7536999ccd">
<fieldDefinitions>
<fieldDefinition name="id" type="String" cardinality="One">
<fieldDefinitionTag>
<name>TRACK_ID</name>
</fieldDefinitionTag>
<fieldDefinitions/>
</fieldDefinition>
<fieldDefinition name="position" type="Group" cardinality="One">
<fieldDefinitions>
<fieldDefinition name="longitude" type="Double" cardinality="One">
<fieldDefinitions/>
</fieldDefinition>
<fieldDefinition name="latitude" type="Double" cardinality="One">
<fieldDefinitions/>
</fieldDefinition>
</fieldDefinitions>
</fieldDefinition>
</fieldDefinitions> </geoEventDefinition>
我正在迭代该文件以检索 fieldDefinition 属性(即 {'name': 'id', 'type': 'String', ' cardinality': 'One'}) 使用以下内容:
from xml.etree import ElementTree as ET
tree = ET.parse(xmlFile)
root = tree.getroot()
for child in root.iter('fieldDefinition'):
print(child.attrib)
我还需要返回 fieldDefinitionTag< 下的 name 标签数据(即 TRACK_ID) /strong>如果是的话存在,但无法弄清楚如何做到这一点。
任何帮助表示赞赏。
I have an XML file like below:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<geoEventDefinition guid="3ab37e92-825c-4fdf-afa6-7b7536999ccd">
<fieldDefinitions>
<fieldDefinition name="id" type="String" cardinality="One">
<fieldDefinitionTag>
<name>TRACK_ID</name>
</fieldDefinitionTag>
<fieldDefinitions/>
</fieldDefinition>
<fieldDefinition name="position" type="Group" cardinality="One">
<fieldDefinitions>
<fieldDefinition name="longitude" type="Double" cardinality="One">
<fieldDefinitions/>
</fieldDefinition>
<fieldDefinition name="latitude" type="Double" cardinality="One">
<fieldDefinitions/>
</fieldDefinition>
</fieldDefinitions>
</fieldDefinition>
</fieldDefinitions> </geoEventDefinition>
I'm iterating through the file to retrieve the fieldDefinition attributes (i.e. {'name': 'id', 'type': 'String', 'cardinality': 'One'}) using the below:
from xml.etree import ElementTree as ET
tree = ET.parse(xmlFile)
root = tree.getroot()
for child in root.iter('fieldDefinition'):
print(child.attrib)
I also need to return the name tag data (i.e. TRACK_ID) under the fieldDefinitionTag if it exists, but cannot figure out how to do so.
Any help is appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用
它的输出,
因此它输出了所有
fieldDefinition
s的属性。You can use
Its output is
So it outputs the attributes of all
fieldDefinition
s.