内部包含内容的元素的 XPath?
XPath for elements with content inside?
我正在使用 HtmlAgilityPack
并且遇到以下情况:
<table class='table-main odds '>
<tbody>
<tr>..</tr>
<tr>..</tr>
<tr>..</tr>
<tr></tr>
<tr></tr>
</tbody>
</table>
因为你可以看到里面只有三个 tr
有内容,所以我希望在最终结果中应该只有前三个 tr
可用。实际上我的代码 return 所有 tr
:
HtmlNode oddsTable = doc.DocumentNode
.SelectSingleNode("//table[starts-with(@class, 'table-main')]");
HtmlNodeCollection rows = oddsTable.SelectNodes("tbody//tr");
如何使用 xpath
实现?
感谢您的帮助和解释。
取决于你的意思 content:
- 任何内容:
//tr[node()]
- 元素内容:
//tr[*]
- 正文内容:
//tr[text()]
- 非空白内容:
//tr[normalize-space()]
我正在使用 HtmlAgilityPack
并且遇到以下情况:
<table class='table-main odds '>
<tbody>
<tr>..</tr>
<tr>..</tr>
<tr>..</tr>
<tr></tr>
<tr></tr>
</tbody>
</table>
因为你可以看到里面只有三个 tr
有内容,所以我希望在最终结果中应该只有前三个 tr
可用。实际上我的代码 return 所有 tr
:
HtmlNode oddsTable = doc.DocumentNode
.SelectSingleNode("//table[starts-with(@class, 'table-main')]");
HtmlNodeCollection rows = oddsTable.SelectNodes("tbody//tr");
如何使用 xpath
实现?
感谢您的帮助和解释。
取决于你的意思 content:
- 任何内容:
//tr[node()]
- 元素内容:
//tr[*]
- 正文内容:
//tr[text()]
- 非空白内容:
//tr[normalize-space()]