在 Python 中查找 XML 属性“不等于”

我有以下 XML:


<foo>

<bar x="0"/>

<bar x="1"/>

</foo>

我事先知道这里会有两个子元素,一个的 x 为 0,但另一个的 x 为我不知道的。我想选择属性值不为 0 的子元素。我想你会这样做:


foo.find("bar[@x!='0']")

但这不会返回任何东西。根据以下链接,我尝试了以下操作,但出现错误。


foo.find("bar[not(@x='0')]")


小唯快跑啊
浏览 324回答 1
1回答

慕桂英3389331

您是否尝试用 .xpath() 替换 .find 问题中的链接使用 xpath。from lxml import etreepath=r"C:\foo.xml"tree = etree.parse(path)print tree.xpath('bar[not(@x="0")]')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python