我有一个 XML 文件,我想使用 python 将其转换为 JSON 文件,但它对我来说不起作用。
<?xml version="1.0"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
我使用 ElementTree 解析上面的 XML 文件并将其交给 Simplejson 进行序列化,如下所示:
from xml.etree import ElementTree as ET
import simplejson
tree = ET.parse(Xml_file_path)
simplejson.dumps(tree)
它给了我一个错误: TypeError: 0x00C49DD0 处的 xml.etree.ElementTree.ElementTree 对象不可 JSON 序列化。
另一种选择是xmltodict(完全披露:我写的)。它可以帮助您将 XML 转换为 dict+list+string 结构,如下所示“标准”. It is Expat基于,因此速度非常快,并且不需要将整个 XML 树加载到内存中。
获得该数据结构后,您可以将其序列化为 JSON:
import xmltodict, json
o = xmltodict.parse('<e> <a>text</a> <a>text</a> </e>')
json.dumps(o) # '{"e": {"a": ["text", "text"]}}'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)