我在兩個窗口中打開了一個HTML文檔,我需要在兩個窗口之間同步所選節點。Html Agility Pack返回無效的XPath
使用Html Agility Pack我想:
HtmlNode myNode = GetSomeCertainNode();
string xpath = myNode.XPath; //xpath = "/#comment[1]"
// This line throws an XPathException
var reExtract = myNode.OwnerDocument.DocumentNode.SelectSingleNode(xpath);
異常消息:'/#comment[1]' has an invalid token.
我想知道,我從節點本身,這意味着它是一個正確的XPath的XPath和我用它對付同一份文件,它爲什麼會失敗,我錯過了什麼?
更新
當選擇一些其他的節點我得到這個異常,而不是:Expression must evaluate to a node-set.
(xpath
包含/html[1]/body[1]/div[1]/p[3]/strong[1]/#text[1]
)。
但請記住,該值取自節點本身,因此非常奇怪。它怎麼抱怨它是無效的?
那麼HtmlNode.XPath屬性怎麼返回呢?有沒有辦法將HtmlNode.XPath轉換爲有效的XPath? – Shimmy
@Shimmy:你得問問這個庫的開發者。 –
任何解決方法? – Shimmy