6.14. xml 解析 | python 应用场景 |《python 最佳实践指南 2018 2018》| python 技术论坛-金年会app官方网

未匹配的标注

untangle

 是一个简洁的用于解析 xml 文档的库。输入一个 xml 文档后,untangle 将文档的结构映射成结点和属性,并返回一个 python 对象。

形如以下的 xml 文件:



    

可以使用以下的方法进行加载:

import untangle
obj = untangle.parse('path/to/file.xml')

加载完成后,你可以运行以下代码获取到 child 标签的 name 属性值:

obj.root.child['name']

untangle 同时支持使用字符串的形式和 url 的形式加载 xml 文档。

xmltodict

 是另一个简洁的库,它可以让开发者能够像操作 json 一样操作 xml 文档。

形如以下的 xml 文档:


  
    elements
    more elements
  
  
    element as well
  

可以使用如下方法加载,从而得到一个 python 的 dict 对象:

import xmltodict
with open('path/to/file.xml') as fd:
    doc = xmltodict.parse(fd.read())

随后你可以根据以下的方法访问文档的元素、属性和属性值:

doc['mydocument']['@has'] # == u'an attribute'
doc['mydocument']['and']['many'] # == [u'elements', u'more elements']
doc['mydocument']['plus']['@a'] # == u'complex'
doc['mydocument']['plus']['#text'] # == u'element as well'

xmltodict 中的 unparse 函数可以根据字典返回一个 xml 文档。同时, xmltodict 支持流式操作以处理不适宜加载到内存的文件,并且支持命名空间。

本文章首发在 金年会app官方网 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 cc 协议,如果我们的工作有侵犯到您的权益,请及时联系金年会app官方网。

原文地址:https://learnku.com/docs/python-guide/20...

译文地址:https://learnku.com/docs/python-guide/20...

上一篇 下一篇
讨论数量: 0



暂无话题~
网站地图