我需要解析XML文档,然后将每个节点写入单独的文件,保持属性的确切顺序。 所以,如果我有输入文件,如:
<item a="a" b="b" c="c"/>
<item a="a1" b="b2" c="c3"/>
每个项目的输出应为2个文件。
现在如果使用xml.dom.minidom - 在输出中更改属性顺序(我可以得到 - <item b="b" c="c" **a="a"**/>
)
我找到了pxdom lib,它保持顺序但非常慢(minidom解析需要0.08秒,pxdom解析需要2.5秒。)
还有其他可以保存属性的python库吗?
UPD:libarry也应该保持大小写。所以“Item”不等于“item”
答案 0 :(得分:1)
您可能会发现this question有用。底线摘要 - 标准的xml工具和库很可能无法做到这一点。
答案 1 :(得分:0)
您可以使用BeautifulSoup:
>>> from BeautifulSoup import BeautifulSoup as soup
>>> html = '''<item a="a" b="b" c="c"/>
<item a="a1" b="b2" c="c3"/>'''
>>> s = soup(html)
>>> s.findAll('item')
[<item a="a" b="b" c="c"></item>, <item a="a1" b="b2" c="c3"></item>]