如何检查XML中是否存在xpath /元素?
问题描述:
如何检查,如果标记/ xpath /元素存在与否?如何检查XML中是否存在xpath /元素?
sample.xml中
<layer>
<value>Random</value>
<value>12345</value>
</layer>
<layer>
<value>Last_Name</value>
<value>ABCD</value>
</layer>
<layer>
<value>dynamic</value>
<value>a1234bcd</value>
</layer>
Sample.py
from lxml import etree
tree = etree.parse('sample.xml')
print tree.xpath('//layer[value="Last_Name"]/value')[1].text
在这里,我试图找到标签'姓氏'即ABCD的价值 如何检查元素'Last_Name'是否存在? 因为,例外被捕获为“列表索引超出范围”。 是否可以检查一个元素是否存在?
答
通过文本匹配;然后获取以下兄弟姐妹的内容:
tree.xpath('//layer/value[text()="Last_Name"]/following-sibling::value/text()')