string html = "<table><tr><td>xyz</td><td>abc</td><td>mno</td></tr></table>"
HtmlDocument res = new HtmlDocument();
res.LoadHtml(html);
res.DocumentNode.SelectNodes("//table/tr/td[contains(translate(.,'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'),'mno')]")
上面的代码给我 td node
其中有 mno
innerText..
现在我想知道 this
节点从其父节点 tr
我怎样才能得到它??? 请帮助我并提前致谢
最佳答案
你可以通过这种方式获得位置:
var pos = res.DocumentNode.SelectNodes(
"//table/tr/td[contains(translate(.,'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'),'mno')]/preceding-sibling::*"
).Count + 1;
以上代码选择所选 <td>
的同一父级中的所有前面元素元素,然后获取这些返回元素的计数加一。
关于c# - 如何从Xpath中的父节点获取所选节点的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22319346/