Python - ElementTree库 - 按属性值在树中搜索
我在这里安装了ElementTree库:http://effbot.org/zone/element.htm,使用的是Python 2.7。
我已经解析了一个XML文件:
tree_a=parse('/home/user/cookies.xml')
现在出现的问题是,我在effbot ElementTree的文档中找不到相关的信息:
我该如何通过属性值来访问XML树中的一个节点呢?
类似于这样:
tree_a.getNode(my_attribute,my_attribute_value)
举个例子:
tree_a.getNode(cookie_diameter, 12)
这样查询就能返回XML树中,属性'cookie_diameter'值为12的节点。
有没有现成的函数可以用呢?
祝好
Daniyal
1 个回答
5
ElementTree 对 XPath 的支持有限。虽然它不能支持所有的功能,但一些更高级的功能还是可以用的。从 ElementTree 1.3 版本开始(这个版本在 Python 2.7 及以上和 Python 3.2 及以上中自带),你可以像这样查询属性值:
tree.find( './/*[@cookie_diameter="12"]' )
想要了解完整的 XPath 支持情况,可以查看 effbot.org 上的文档。