Python 中有没有一种方法可以像 PHP 的 SimpleXML 扩展那样处理 XML 文件?
理想情况下,我只想能够从列表对象访问某些 xml 数据。
Python wiki上有一长串与 XML 处理相关的库。请注意,其中一些包含在标准库中。他们中的大多数会做你正在寻找的东西:
从列表对象访问某些 xml 数据
这有点含糊,也许一些更具体的用例可能会为您缩小该列表。
您可能想尝试xml.etree.ElementTree 它提供了许多简单的方法来访问读取的 xml 和构建新的 xml。
或者更好的是使用lxml.etree,它提供了更方便的访问节点的方法(例如 xpath)
您可能指的是这样的事情:
http://github.com/joestump/python-simplexml
我自己没有使用过它,但我也在寻找 PHP 中的 simplexml 之类的东西,并且出现了这个链接。
lxml.objectify完全符合您的要求
In [1]: from lxml import objectify
In [2]: x = objectify.fromstring("""<response><version>1.2</version><amount>1.01</amount><currency>USD</currency></response>""")
In [3]: x.version
Out[3]: 1.2
In [4]: x.amount
Out[4]: 1.01
In [5]: x.currency
Out[5]: 'USD'