我想将信息从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())

10-08 07:52