【问题标题】:Select an XML node based on same level node attribute?根据同级节点属性选择 XML 节点?
【发布时间】:2017-11-30 11:12:29
【问题描述】:

如何根据另一个同级节点的属性选择节点属性?我想要实现的是从所有节点中提取链接(href 值),然后是属性为 class="body-table-news-loss" 的节点跨度,即选择器应在下面的示例中返回 https://finance.yahoo.com/news/inspiremd-announces-planned-recapitalization-120000752.html。 我试过了

 "//tr[td/span[@class='body-table-news-loss']]/a/@href"

及其类似变体,但我没有得到想要的结果,因为我不知道如何向 XPath 选择器解释层次结构级别。非常感谢您的帮助。

<tr>
 <td>Nov-29-17 07:00AM&nbsp;&nbsp;
 </td>
    <td align="left">
      <a href="https://finance.yahoo.com/news/inspiremd-announces-planned-
      recapitalization-120000752.html">InspireMD Announces Planned 
      Recapitalization
      </a> 
      <span class="body-table-news-loss">-51.29%</span>
    </td>
</tr>
<tr>
 <td >Nov-07-17 04:05PM&nbsp;&nbsp;
 </td>
    <td align="left">
      <a href="https://finance.yahoo.com/news/inspiremd-announces-third-
      quarter-2017-210500523.html">InspireMD Announces Third Quarter 2017 
      Results; CGuard(TM) Revenue Increases 90% Versus Same Period Last Year
      </a> 
      <span class="body-table-news-gain">+5.94%</span>
    </td>
</tr>

【问题讨论】:

    标签: jquery xml xpath xidel


    【解决方案1】:

    您正在寻找preceding-sibling:: 坐标轴。它选择它之前的上下文的所有兄弟节点。

    这样的事情应该可以工作。

    //tr/td/span[@class='body-table-news-loss']/preceding-sibling::a/data(@href)
    

    【讨论】:

      【解决方案2】:

      这也有效:

      //td[span[@class='body-table-news-loss']]/a/@href
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多