我想循环遍历表格中的所有行并连续选择所有
。
foreach (var r in Table.SelectNodes("tr"))
{
var Paragraphs = r.SelectNodes("//p");
}
为什么我必须使用SelectNodes(“// p”)而不仅仅是SelectNodes(“p”)?如果我这样做,我总是得到null。
我想知道为什么我在foreach声明中没有“// tr”。
答案 0 :(得分:2)
如此编写//p
,在这种情况下,它会在"p"
元素的HTML
树中的任意深度找到tr
个节点。
如果您编写/p
,它将仅搜索HTML
元素的tr
树的根节点
示例:
使用//p
,您会找到2个<p>
元素,只有/p
您将找不到它,并且将返回null。
<tr>
<div>
<p></p>
</div>
<div>
<div>
<p></p>
</div>
<div>
</tr>
在这种情况下,如果按/ p搜索,则会找到该元素。
<tr>
<p></p>
</tr>