【发布时间】:2020-09-25 03:48:24
【问题描述】:
我正在使用 python 来解析 XML 文件,但我遇到了问题。我以字典的形式获取值,但如果有两个或多个相同的值,那么它们就不会重复。我确信有办法解决它,但我是 python 和解析 XML 的新手......
这是一个 XML 的例子:
<Root>
<Child1>
</Child1>
<Child2>
<Data DId = "1">
<Group ID = "">
<Sport Name="Cricket" Team="6" />
<Sport Name="Football" Team="6" />
<Sport Name="Hockey" Team="5" />
</Group>
</Data>
<Data DId = "2">
<Group ID = "">
<Sport Name="Rugby" Team="6" />
<Sport Name="Baseball" Team="10" />
<Sport Name="Swimming" Team="6" />
</Group>
</Data>
</Child2>
</Root>
我想获取由 Data 分隔的 Sport 的标签值。 我试过的代码是:
import xml.etree.ElementTree as ET
tree = ET.parse('test.xml')
root = tree.getroot()
dict1 = {}
for i in root.iter('Sport'):
dict1[i.attrib['Name']] = [j.text for j in i]
dict1[i.attrib['Team']] = [k.text for k in i]
print(dict1)
但我无法获得每项运动的团队价值。
【问题讨论】:
标签: xml parsing python-3.6