HtmlAgilityPack的SelectSingleNode与SelectNodes根元素

SelectSingleNode与SelectNodes始终从根元素开始算,即使是非根节点调用。

当使用节点.ChildNodes后,SelectSingleNode与SelectNodes的对象才会变为真正的节点,而非根节点。

 

HtmlNode currentNode = htmlDoc.DocumentNode; // 根节点
currentNode = currentNode.SelectSingleNode("//*[contains(@class,'aa')]"); // 指向非根节点

HtmlNode node2= currentNode.SelectSingleNode("//*[contains(@class,'aa')]"); // 指向根节点的第一个匹配对象,而非currentNode的第一个匹配

 

currentNode = htmlDoc.DocumentNode.FirstChild; // 根节点
currentNode = currentNode.SelectSingleNode("//*[contains(@class,'aa')]"); // 指向非根节点

foreach (HtmlNode node2 in currentNode.ChildNodes)
{
    HtmlNode node3 = node2.SelectSingleNode("//*[contains(@class,'a3')]"); // 这而才是指向node2中的匹配对象
}

  

 

posted @ 2020-04-10 21:50  寙行  阅读(1416)  评论(0编辑  收藏  举报