我目前正在使用下面的代码来提取 InnerText,但是,发生的情况是我被一堆 html 注释行 <--
困住了。如何使用下面的代码删除它们?
HtmlWeb hwObject = new HtmlWeb();
HtmlAgilityPack.HtmlDocument htmldocObject = hwObject.Load(htmlURL);
foreach (var script in htmldocObject.DocumentNode.Descendants("script").ToArray())
script.Remove();
HtmlNode body = htmldocObject.DocumentNode.SelectSingleNode("//body");
resultingHTML = body.InnerText.ToString();
最佳答案
只需通过注释节点过滤节点并对其调用删除即可。
var rootNode = doc.DocumentNode;
var query = rootNode.Descendants().OfType<HtmlCommentNode>().ToList();
foreach (var comment in query)
{
comment.Remove();
}
关于c# - 从 InnerText 中删除注释行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9106177/