2017-02-16 74 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()')