开发者

Python中xmltodict对xml的操作方式

开发者 https://www.devze.com 2023-03-15 09:52 出处:网络 作者: 程序猿-张益达
目录python XMLtodict对xml的操作Python XML解析,xmltodict模块总结Python xmltodict对xml的操作
目录
  • python XMLtodict对xml的操作
  • Python XML解析,xmltodict模块
  • 总结

Python xmltodict对xml的操作

xmltodict是另一个简易的库,它致力于将XML变得像jsON.

下面是一个简单的示例XML文件:

<?xml version="1.0"?>
<mydocument has="an attribute">
  <and>
    <many>elements</many>
    <many>more elements</many>
  </and>
  <plus a="complex">
    element as well
  </plus>
</mydocument>

这是第三方包,在处理前先用pip来安装

pip install xmltodict

可以像下面这样访问里面的元素,属性及值:

import xmltodict

with open("test.xml") as fd:     # 将XML文件装载到dict里面
  doc = xmltodict.parse(fd.read())
  print(doc["mydocument"]["@has"]) # an attribute
  print(doc["mydocument"]["and"]) php # OrderedDict([(u'many', [u'elements', u'more elements'])])
  print(doc["mydocument"]["and"]["many"])  # [u'elements', u'more elements']
  print(doc["mydocument"]["plus"]["@a"])  # complex
  print(doc["mydocument"]["plus"]["#text"]) # element as well
xmltodict 也javascript有unparse函数让您可以转回XML。

该函数有一个streaming模式适合用来 处理不能www.devze.com放入内存的文件,它还支持命名空间

Python XML解析,xmltodict模块

安装xmltodict: pip3 install xmltodict

demo.py(xml字符串解析成类字典):

# coding:utf-8
import xmltodict  # 导入

# XML格式字符串
xml_str = """
    <xml>
      <Name>张三</Name&phpgt;
      <age>18</age>
    </xml>
    """


xml_dict = xmltodict.parse(xml_str)  # 解析xml字符串

print(type(xml_dict)) # <class 'collections.OrderedDict'> 类字典型,可以按照字典方法操作

p编程客栈rint xml_dict

# 遍历
for key, val i开发者_开发教程n xml_dict['xml'].items():
  print key, "---", val

demo.py(字典转成xml字符串):

# coding:utf-8
import xmltodict  # 导入

# 字典
xml_dict = {
        "xml": {
          "name" : u"张三",
          "age" : 18
        }
      }

# 字典转换成XML字符串
# xml_str = xmltodict.unparse(xml_dict)
xml_str = xmltodict.unparse(xml_dict, pretty=True) # pretty表示友好输出(有换行)

print(xml_str)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号