【问题标题】:How to get rows from two table in the same xpath expression?如何从同一个 xpath 表达式中的两个表中获取行?
【发布时间】:2018-05-09 09:09:46
【问题描述】:

我正在使用HtmlAgilityPack。假设我有以下情况:

<div class="main container">
   <div class="left">
       <table>
           <tbody>
             <tr />
             <tr />
             <tr />
           </tbody>
      </table>
   </div>
   <div class="right">
       <table>
           <tbody>
             <tr />
             <tr />
             <tr />
           </tbody>
      </table>
   </div>

我想从leftright这两个表中获取tbody中包含的所有行,这两个表包含在main container div中。

我试过了:

HtmlNode main = doc.DocumentNode.SelectSingleNode("//div[@class='main container']");

HtmlNodeCollection rows = main.SelectNodes("//table//tr");

但这会返回文档的所有行,我只需要两个表的行。

【问题讨论】:

    标签: c# xpath html-agility-pack


    【解决方案1】:

    试试这个:

    main.SelectNodes("/table//tr");
    

    当使用两个斜杠启动 SelectNode 时,它​​会从根文档而不是当前路径重新开始搜索。我相信这是你的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-23
      • 1970-01-01
      • 1970-01-01
      • 2011-05-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多