Python 将XML转换成JSON数据的方法总结

1、使用xmltodict和json实现

相关文档xmltodict 

import xmltodict, jsono = xmltodict.parse("""<catalog>    <maxid>4</maxid>    <login username="pytest" passwd='123456'>        <caption>Python</caption>        <item id="4">            <caption>测试</caption>        </item>    </login>    <item id="2">        <caption>Zope</caption>    </item></catalog> """)json.dumps(o) # '{"catalog": {"maxid": "4", "login": {"@username": "pytest", "@passwd": "123456", "caption": "Python", "item": {"@id": "4", "caption": "\\u6d4b\\u8bd5"}}, "item": {"@id": "2", "caption": "Zope"}}}'

或者

import xmltodictdata = requests.get(url)xpars = xmltodict.parse(data.text)json = json.dumps(xpars)print json 

2、使用xmljson实现

import json, xmljsonfrom lxml.etree import fromstring, tostringxml = fromstring("""<catalog>    <maxid>4</maxid>    <login username="pytest" passwd='123456'>        <caption>Python</caption>        <item id="4">            <caption>测试</caption>        </item>    </login>    <item id="2">        <caption>Zope</caption>    </item></catalog> """)json.dumps(xmljson.badgerfish.data(xml))

3、使用xml.etree实现

from xml.etree import ElementTree as ETxml    = ET.parse('FILE_NAME.xml')parsed = parseXmlToJson(xml)def parseXmlToJson(xml):  response = {}  for child in list(xml):    if len(list(child)) > 0:      response[child.tag] = parseXmlToJson(child)    else:      response[child.tag] = child.text or ''  return response

免责声明:以上内容(如有图片或视频亦包括在内)有转载其他网站资源,如有侵权请联系删除

咨询热线(9:00 - 18:00)
0755 - 29812418
微信公众号二维码
微信公众号二维码
微信公众号
返回顶部