gpt4 book ai didi

python - 如何检查xpath中的路径是否存在?

转载 作者:行者123 更新时间:2023-12-01 08:04:51 26 4
gpt4 key购买 nike

此代码成功检查 xpath 中是否存在单个元素:

x = root.xpath("boolean(//*[contains(local-name(), 'bar')])", namespaces=lnamespaces)
print("xx ", x)

但我需要检查是否存在像 foo/bar 这样的路径。我尝试过:

x = root.xpath("boolean(//*[contains(local-name(), 'foo/bar')])", namespaces=lnamespaces)
print("xx ", x)

但是,即使 foo/bar 路径存在,上面的代码也会计算为 false。

代码:

from lxml import etree

mystr = """
<some>
<foo>
<bar>
</bar>
</foo>

<baz>
</baz>
<some>
"""
etxml = etree.HTML(mystr)

result = etxml.xpath("boolean(//*[contains(local-name(), 'foo/bar')])")
print("result: ", result)

最佳答案

我不确定这是否是您所需要的,但恐怕我到达那里的唯一方法是这样的:

tree_struct = etree.ElementTree(etxml)
for e in etxml.iter('bar'):
print('/foo/bar' in tree_struct.getpath(e))

输出:

True

关于python - 如何检查xpath中的路径是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55590177/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com