在现实世界的C#脚本中,我尝试了我认为对XPath值可行的每一个排列(尽管希望有人会告诉我我错过了一个),但总是返回null。将其剥离为SelectSingleNode
的最简单用法,但出于某种原因,它只会返回带有<body>
的值
这样分配的单据:
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
这是我第一次研究XPath,而且我对HtmlAgilityPack的经验有限。因此,毫无疑问,这是我最基本的失败。但是:
HtmlAgilityPack.HtmlNode node = doc.DocumentNode.SelectSingleNode("//body");
结果:节点不是空
将其替换为div或任何其他元素(脚本中的ARE测试了多个)
HtmlAgilityPack.HtmlNode node = doc.DocumentNode.SelectSingleNode("//div");
结果:
节点为空
我错过了什么?
对不起,我的错已经水落石出了。虽然上面adventurebods URL中的例子是预期测试脚本的来源,但事实上我没有什么。这个要求之前的过程从剪贴板复制了脚本——当然,作为一个柠檬,我认为这是正确的,但事实上,在使用后,我有一个截断的脚本
htmlText = Clipboard.GetText(TextDataFormat.Html);