2017-02-16 87 views
0

如何检查,如果标记/ 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'是否存在? 因为,例外被捕获为“列表索引超出范围”。 是否可以检查一个元素是否存在?

回答

0

通过文本匹配;然后获取以下兄弟姐妹的内容:

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