如何使用python将xml文件转换为JSON?
我有一个XML文件,我想用python将其转换为JSON文件,但它的nt适合我如何使用python将xml文件转换为JSON?,python,xml,json,xml-serialization,Python,Xml,Json,Xml Serialization,我有一个XML文件,我想用python将其转换为JSON文件,但它的nt适合我 <?xml version="1.0"?> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> &l
<?xml version="1.0"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
它给了我一个错误:类型错误:0x00C49DD0处的xml.etree.ElementTree.ElementTree对象不可JSON序列化。这可能就是您要查找的:
导入xml2json
s='''
托弗
贾尼
提醒
这个周末别忘了我!
'''
打印xml2json.xml2json
另一个选择是(完全公开:我写的)。它可以帮助您将XML转换为dict+list+string结构,如下所示。它是基于XML的,因此速度非常快,不需要在内存中加载整个XML树
拥有该数据结构后,可以将其序列化为JSON:
import xmltodict, json
o = xmltodict.parse('<e> <a>text</a> <a>text</a> </e>')
json.dumps(o) # '{"e": {"a": ["text", "text"]}}'
导入xmltodict,json
o=xmltodict.parse('text-text')
json.dumps(o)#{“e”:{“a”:[“text”,“text”]}
您可以尝试使用。相同的代码是
from xmljson import badgerfish as bf
from xml.etree.ElementTree import fromstring
s = '''<?xml version="1.0"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>'''
json.dumps(bf.data(fromstring(s)))
从xmljson导入badgerfish作为bf
从xml.etree.ElementTree导入fromstring
s='''
托弗
贾尼
提醒
这个周末别忘了我!
'''
json.dumps(bf.data(fromstring)))
请参阅。它支持模式,例如类型定义。您必须了解元素树对象不是XML文件的完整表示,它只提供访问XML文件任何部分的方法。使用xml2json模块的答案将满足您的需要。
import xmltodict, json
o = xmltodict.parse('<e> <a>text</a> <a>text</a> </e>')
json.dumps(o) # '{"e": {"a": ["text", "text"]}}'
from xmljson import badgerfish as bf
from xml.etree.ElementTree import fromstring
s = '''<?xml version="1.0"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>'''
json.dumps(bf.data(fromstring(s)))