Этот код успешно проверяет, существует ли xpath, если в 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
существует.
Код:
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)