今天小编给大家分享一下Python中xmltodict对xml的操作方式是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
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"]) # 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 也有unparse函数让您可以转回XML。
该函数有一个streaming模式适合用来 处理不能放入内存的文件,它还支持命名空间
Python XML解析,xmltodict模块
安装xmltodict: pip3 install xmltodict
demo.py(xml字符串解析成类字典):
# coding:utf-8
import xmltodict # 导入
# XML格式字符串
xml_str = """
<xml>
<Name>张三</Name>
<age>18</age>
</xml>
"""
xml_dict = xmltodict.parse(xml_str) # 解析xml字符串
print(type(xml_dict)) # <class 'collections.OrderedDict'> 类字典型,可以按照字典方法操作
print xml_dict
# 遍历
for key, val in 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)
版权声明:除特别声明外,本站所有文章皆是本站原创,转载请以超链接形式注明出处!