我正在使用HtmlAgilityPack抓取许多网站。问题在于,它似乎坚持要在大多数为空或仅包含\n,空白和\r的位置插入TextNode。
当我计算子节点时,它们会导致我出现问题,因为Firebug没有显示它们,而HtmlAgilityPack却显示了它们。
有没有办法告诉HtmlAgilityPack停止这样做,或者至少清除这些textnode? (尽管我想保留有用的)。当我们在这里时,Comment和Script标签也是一样。
最佳答案
您可以使用以下扩展方法:
static class HtmlNodeExtensions
{
public static List<HtmlNode> GetChildNodesDiscardingTextOnes(this HtmlNode node)
{
return node.ChildNodes.Where(n => n.NodeType != HtmlNodeType.Text).ToList();
}
}
并这样称呼它:
List<HtmlNode> nodes = someNode.GetChildNodesDiscardingTextOnes();
关于c# - 在HtmlAgilityPack中删除无用的TextNode,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11340750/