本文主要是介绍xmltodict:让你像处理JSON一样处理XML的Python模块,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
xmltodict是一个可以让你在处理XML时感觉像在处理JSON一样的Python模块。
以下是简单的代码示例:
>>> doc = xmltodict.parse(
"""
... <mydocument has="an attribute">
... <and>
... <many>elements</many>
... <many>more elements</many>
... </and>
... <plus a="complex">
... element as well
... </plus>
... </mydocument>
... """
)
>>>
>>> doc['mydocument']['<a href="twitter:@has">@has</a>']
u'an attribute'
>>> doc['mydocument']['and']['many']
[u'elements', u'more elements']
>>> doc['mydocument']['plus']['<a href="twitter:@a">@a</a>']
u'complex'
>>> doc['mydocument']['plus']['#text']
u'element as well'
支持命名空间
xmltodict默认没有XML命名空间处理,但是使用process_namespaces=True可以开启命名空间扩展。
>>> xml =
"""
... <root xmlns="http://defaultns.com/"
... xmlns:a="http://a.com/"
... xmlns:b="http://b.com/">
... <x>1</x>
... <a:y>2</a:y>
... <b:z>3</b:z>
... </root>
... """
>>> assert xmltodict.parse(xml, process_namespaces=True) == {
... 'http://defaultns.com/:root': {
... 'http://defaultns.com/:x': '1',
... 'http://a.com/:y': '2',
... 'http://b.com/:z': '3',
... }
... }
True
除此之外,还支持流模式(Streaming mode)和反向处理(Roundtripping)。
GitHub主页:https://github.com/martinblech/xmltodict
这篇关于xmltodict:让你像处理JSON一样处理XML的Python模块的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!