验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

python中的xmltodict怎么使用

阅读:619 来源:乙速云 作者:代码code

python中的xmltodict怎么使用

      python中xmltodict使用

      xml转换成OrderedDict

      代码 :

      import xmltodict
      from pprint import pprint
       
       
      xml = ('''
      
          
              elements
              more elements
          
          
              element as well
          
      
      ''')
      pprint(xmltodict.parse(xml))
      print(type(xmltodict.parse(xml)))

      运行结果:

      python中的xmltodict怎么使用

      可以看到,代码将xml中所有的标签写到了一个OrderedDict中,并且可以运用字典的操作方法去任意取值

      dict转换成xml

      代码:

      # 代码
      dict1 = {'Request': {'Body': {'Name': '孙悟空',
                            'Province': '北京',
                            'SettlementFlag': '0001',
                   'Head': {'ID': '00000000',
                            'Code': '9999',
                            'No': '15533'}}}}
       
      print(xmltodict.unparse(dict1))

      运行结果:

      python中的xmltodict怎么使用

      xmltodict模块处理xml数据基本用法

      xmltodict 是一个用来处理xml数据的很方便的模块。

      包含两个常用方法parse和unparse

      1. parse

      xmltodict.parse()方法可以将xml数据转为python中的dict字典数据:

      >>> import xmltodict
      >>> xml_str = """
      ... 
      ... 
      ... 
      ... 1478317060
      ... 
      ... 
      ... 6349323426230210995
      ... 
      ... """
      >>>
      >>> xml_dict = xmltodict.parse(xml_str)
      >>> type(xml_dict)
        # 类字典型,可以按照字典方法操作
      >>>
      >>> xml_dict
      OrderedDict([(u'xml', OrderedDict([(u'ToUserName', u'gh_866835093fea'), (u'FromUserName', u'ogdotwSc_MmEEsJs9-ABZ1QL_4r4'), (u'CreateTime', u'1478317060'), (u'MsgType', u'text'), (u'Content', u'u4f60u597d'), (u'MsgId', u'6349323426230210995')]))])
      >>>
      >>> xml_dict['xml']
      OrderedDict([(u'ToUserName', u'gh_866835093fea'), (u'FromUserName', u'ogdotwSc_MmEEsJs9-ABZ1QL_4r4'), (u'CreateTime', u'1478317060'), (u'MsgType', u'text'), (u'Content', u'u4f60u597d'), (u'MsgId', u'6349323426230210995')])
      >>>
      >>> for key, val in xml_dict['xml'].items():
      ...     print key, "=", val
      ... 
      ToUserName = gh_866835093fea
      FromUserName = ogdotwSc_MmEEsJs9-ABZ1QL_4r4
      CreateTime = 1478317060
      MsgType = text
      Content = 你好
      MsgId = 6349323426230210995
      >>>

      2. unparse

      xmltodict.unparse()方法可以将字典转换为xml字符串:

      xml_dict = {
          "xml": {
              "ToUserName" : "gh_866835093fea",
              "FromUserName" : "ogdotwSc_MmEEsJs9-ABZ1QL_4r4",
              "CreateTime" : "1478317060",
              "MsgType" : "text",
              "Content" : u"你好",
              "MsgId" : "6349323426230210995",
          }
      }
      
      >>> xml_str = xmltodict.unparse(xml_dict)
      >>> print xml_str
      
      ogdotwSc_MmEEsJs9-ABZ1QL_4r46349323426230210995gh_866835093fea你好text1478317060
      >>>
      >>> xml_str = xmltodict.unparse(xml_dict, pretty=True) # pretty表示友好输出
      >>> print xml_str
      
      
          ogdotwSc_MmEEsJs9-ABZ1QL_4r4
          6349323426230210995
          gh_866835093fea
          你好
          text
          1478317060
      
      >>>
    分享到:
    *特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
    相关文章
    {{ v.title }}
    {{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
    你可能感兴趣
    推荐阅读 更多>