如何使用HtmlAgilityPack包装特定标记内容?

时间:2016-02-19 06:24:34

标签: c# html-agility-pack

我正在使用HtmlAgilityPack从链接(网站)中删除数据。网站中有许多p代码,headerspan代码。我需要废弃特定span代码中的数据。

var webGet = new HtmlWeb();
var document = webGet.Load(URL);
foreach (HtmlNode node in document.DocumentNode.SelectNodes("\\span"))
{
      string strData = node.InnerText.Trim();
}

我曾尝试在父标记上使用关键字,但不适用于所有类型的网址。

请帮我解决。

1 个答案:

答案 0 :(得分:0)

错误是什么?

但你可以先解决这个问题:

foreach (HtmlNode node in document.DocumentNode.SelectNodes("\\span"))

它应该是:

foreach (HtmlNode node in document.DocumentNode.SelectNodes("//span"))

根据评论进行更新:

例如,如果您想从根目录获取第三个span标记:

 doc.DocumentNode.SelectSingleNode("//span[3]")

如果要获取包含文本“pqr”的节点:

doc.DocumentNode.SelectSingleNode("//span[contains(text(),'pqr')]");

您可以使用SelectNodes为后者获取文本中包含“pqr”的所有span标记。