【问题标题】:How to check if a xpath/element exists in XML?如何检查 XML 中是否存在 xpath/元素?
【发布时间】:2017-02-16 18:04:18
【问题描述】:

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

【问题讨论】:

    标签: python xpath lxml elementtree


    【解决方案1】:

    文字匹配;然后获取以下兄弟的内容:

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

    【讨论】:

      猜你喜欢
      • 2011-08-07
      • 1970-01-01
      • 1970-01-01
      • 2010-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多