如何为具有特定属性值的xml元素选择数据?
发布时间:2020-12-16 23:05:24 所属栏目:百科 来源:网络整理
导读:鉴于: foo bar key="true"text1/bar bar key="false"text2/bar bar key="true"text3/bar bar key="true"text4/bar/foo 我想获取key属性=“false”的bar元素的文本. 我的应用程序是GAE上的Python 2.5.5. XML不是真正的xml,但我可以将其作为ElementTree加载并
鉴于:
<foo> <bar key="true">text1</bar> <bar key="false">text2</bar> <bar key="true">text3</bar> <bar key="true">text4</bar> </foo> 我想获取key属性=“false”的bar元素的文本. 我的应用程序是GAE上的Python 2.5.5. XML不是真正的xml,但我可以将其作为ElementTree加载并正常获取数据. 代码示例: result = urllib2.urlopen(url).read() xml = ElementTree.fromstring(result) str = xml.find("./bar").attrib['key'] 获得第一个价值.我已经尝试了各种xpath查询,我认为应该可以工作,但我显然有错误的语法. 更新: str = xml.findtext("./bar[@key='false']") 引发错误: File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/xml/etree/ElementPath.py",line 93,in __init__ "expected path separator (%s)" % (op or tag) SyntaxError: expected path separator ([) 解决方法
我可能错了,但我不认为“./bar[@key=’false’]”符号在Python 2.5.5中起作用(或者至少不是随附的ElementTree).我在Python 2.6.5中观察到了同样的问题,但它确实在Python 2.7.1中有效.我想你将不得不使用另一个库或尝试使用Python 2.7的“实验性”GAE.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |