我在通过其他方式找到的显式 XPath 检索单个节点时遇到问题。我有节点,我可以得到它的 XPath,但是当我这次尝试通过 node.XPath 再次检索同一个节点时,它给出了“表达式必须评估为节点集”错误。这不应该工作吗?我在 C# btw 中为 HtmlDocument 使用 HtmlAgilityPack。
HtmlDocument doc = new HtmlDocument();
doc.Load(@"..\..\test1.htm");
HtmlNode node = doc.DocumentNode.SelectSingleNode("(//node()[@id='something')])[first()]");
HtmlNode same = doc.DocumentNode.SelectSingleNode(node.XPath);
顺便说一句:这是 node.XPath 的值:
"/html[1]/body[1]/table[1]/tr[1]/td[1]/div[1]/div[1]/div[2]/table[1]/tr[1]/td[1]/div[1]/div[1]/table[1]/tr[1]/td[1]/div[1]/div[1]/div[4]/div[2]/div[1]/div[1]/div[4]/#text[2]"