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
我怎样才能得到它? 请帮助我,并提前致谢
答案 0 :(得分:0)
试试这个
//table/tr/td[contains(translate(.,'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'),'mno')]/count(preceding-sibling::td) + 1
答案 1 :(得分:0)
你可以这样获得这个位置:
var pos = res.DocumentNode.SelectNodes(
"//table/tr/td[contains(translate(.,'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'),'mno')]/preceding-sibling::*"
).Count + 1;
上面的代码选择所选<td>
元素的同一父元素中的所有前面元素,然后获取那些返回元素的数量加一。