为了账号安全,请及时绑定邮箱和手机立即绑定

在单个 HtmlNodeCollection c# 中获取所有表 tr 数据

在单个 HtmlNodeCollection c# 中获取所有表 tr 数据

C#
慕容森 2022-01-15 19:23:40
我需要tr使用 HTML Agility Pack 从所有表中检索所有内容。HTML:<section class="content-section" id="more">    <div class="row">        <div class="col-xs-6"></div>        <div class="col-xs-6">            <h2>Specs</h2>            <div>                <div>                    <table>                        <thead>                            <tr><th colspan="2"> test</th></tr>                        </thead>                        <tbody>                                                     <tr><td>2</td><td>b</td></tr>                            <tr><td>1</td><td>a</td></tr>                        </tbody>                    </table>                                                        <table>                        <tbody>                            <tr><td>3</td><td>c</td></tr>                            <tr><td>4</td><td>d</td></tr>                                       </tbody>                    </table>                </div>                          </div>        </div>          </div>  </section>C#:HtmlNodeCollection featuresNode = document.DocumentNode.SelectNodes("//*[@id='more']/div/div[2]/div/div[1]/table/tbody/tr");我只能获得第一张桌子,tr但无法获得所有两张桌子tr。HtmlNodeCollection
查看完整描述

1 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

要获取tr包括 in 在内的所有节点thead,请将您的更新XPath为:

"//*[@id='more']/div/div[2]/div/div[1]/table//tr"

这种简化XPath也应该起作用:

"//*[@id='more']//tr"

如果您只想要trfrom tbody,请使用:

"//*[@id='more']//tbody//tr"

tr或从中排除thead,使用:

"//*[@id='more']//tr[not(ancestor::thead)]"


查看完整回答
反对 回复 2022-01-15
  • 1 回答
  • 0 关注
  • 429 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号