如何检查XML中是否存在xpath /元素?

时间:2017-02-16 18:04:19

标签: python xpath lxml elementtree

如果标签/ 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

在这里,我试图找到标签'Last_Name'的值,即 ABCD 如何检查元素'Last_Name'是否存在? 因为,“列表索引超出范围”会捕获异常。 是否可以检查元素是否存在?

1 个答案:

答案 0 :(得分:0)

按文字匹配;然后得到以下兄弟的内容:

tree.xpath('//layer/value[text()="Last_Name"]/following-sibling::value/text()')