好的,所以我对 HTMLAgilityPack 中使用的 XPath 查询真的很陌生。
所以让我们考虑这个页面http://health.yahoo.net/articles/healthcare/what-your-favorite-flavor-says-about-you。我想要的是仅提取页面内容而不是其他内容。
所以为此我首先删除脚本和样式标签。
Document = new HtmlDocument();
Document.LoadHtml(page);
TempString = new StringBuilder();
foreach (HtmlNode style in Document.DocumentNode.Descendants("style").ToArray())
{
style.Remove();
}
foreach (HtmlNode script in Document.DocumentNode.Descendants("script").ToArray())
{
script.Remove();
}
之后,我尝试使用 //text() 来获取所有文本节点。
foreach (HtmlTextNode node in Document.DocumentNode.SelectNodes("//text()"))
{
TempString.AppendLine(node.InnerText);
}
然而,我不仅得到了文本,而且还得到了许多 /r /n 字符。
请我在这方面需要一些指导。