我想将信息从xml写入python中的字典。
下面是xml文件:
<data>
<files>
<links>
<item>
<file_name>file1</file_name>
<id>100</id>
</item>
<item>
<file_name>file2</file_name>
<id>200</id>
</item>
<item>
<file_name>file3</file_name>
<id>300</id>
</item>
</links>
</files>
</data>
对于Python dict,像这样:
xml_content = { 'file1' = 100, 'file2' = 200, 'file3' = 300 }
谢谢你的帮助
最佳答案
使用xmltodict
,此简单代码可用于提取字典:
用xmltodict
安装pip install xmltodict
import xmltodict
doc = xmltodict.parse("""
<data>
<files>
<links>
<item>
<file_name>file1</file_name>
<id>100</id>
</item>
<item>
<file_name>file2</file_name>
<id>200</id>
</item>
<item>
<file_name>file3</file_name>
<id>300</id>
</item>
</links>
</files>
</data>
""")
d = {}
for item in doc["data"]["files"]["links"]["item"]:
d[item["file_name"]] = int(item["id"])
print(d)
d
将是:{u'file3': 300, u'file2': 200, u'file1': 100}
或者,您可以从这样的文件中加载xml:
with open('path/to/file.xml') as fd:
doc = xmltodict.parse(fd.read())