【问题标题】:How to find element by attribute value?如何按属性值查找元素?
【发布时间】:2016-01-07 03:46:29
【问题描述】:

我想找到<issue> 所在的id = 6。我该怎么做?我尝试了以下方法,但没有成功:

<issues>
<issue>
  <id>7</id>
  <project id="1" name="testProject"/>      
  <author id="1" name="testAuthor"/>     
  <subject>subject</subject>
  <start_date>2015-08-24</start_date>      
</issue>
<issue>
  <id>6</id>
  <project id="2" name="testProject2"/>      
  <author id="2" name="testAuthor2"/>     
  <subject>subject2</subject>
  <start_date>2015-08-24</start_date>    
</issue>
</issues>

我的 XPath 表达式尝试是:

doc.xpath("//id[contains(text(), '6']") 

doc.xpath("//issue[@id=6]") 

【问题讨论】:

    标签: ruby xml xpath xml-parsing nokogiri


    【解决方案1】:

    您可以简单地使用以下 XPath 表达式来获取具有子元素的 issue 元素,其中 id 等于 6

    //issue[id=6]
    

    id 是一个子元素,而不是一个属性,所以你不要使用 @id 来完成这个任务。

    【讨论】:

    • @yak_ilnur 不客气。不要忘记accept 答案,因为它实际上回答了您的问题
    猜你喜欢
    • 1970-01-01
    • 2011-10-24
    • 2014-12-05
    • 1970-01-01
    • 2010-10-16
    • 1970-01-01
    • 2012-06-14
    • 1970-01-01
    相关资源
    最近更新 更多