在 Python 中查找 XML 属性 "NOT equal to"
Find XML attribute "NOT equal to" in Python
我有以下 XML:
<foo>
<bar x="0"/>
<bar x="1"/>
</foo>
我事先知道这里会有两个子元素,一个 x 为 0,另一个 x 为我不知道是什么。我想 select 具有不具有值 0 的属性的子元素。我猜你会这样做:
foo.find("bar[@x!='0']")
但这 return 没有任何意义。基于下面的 link,我尝试了以下方法,但出现错误。
foo.find("bar[not(@x='0')]")
Python lxml.html XPath "attribute not equal" operator not working as expected
您是否尝试将 .find 替换为 .xpath() 您问题中的 link 使用了 xpath。
from lxml import etree
path=r"C:\foo.xml"
tree = etree.parse(path)
print tree.xpath('bar[not(@x="0")]')
我有以下 XML:
<foo>
<bar x="0"/>
<bar x="1"/>
</foo>
我事先知道这里会有两个子元素,一个 x 为 0,另一个 x 为我不知道是什么。我想 select 具有不具有值 0 的属性的子元素。我猜你会这样做:
foo.find("bar[@x!='0']")
但这 return 没有任何意义。基于下面的 link,我尝试了以下方法,但出现错误。
foo.find("bar[not(@x='0')]")
Python lxml.html XPath "attribute not equal" operator not working as expected
您是否尝试将 .find 替换为 .xpath() 您问题中的 link 使用了 xpath。
from lxml import etree
path=r"C:\foo.xml"
tree = etree.parse(path)
print tree.xpath('bar[not(@x="0")]')