首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从InnerText中删除注释行

从InnerText中删除注释行
EN

Stack Overflow用户
提问于 2012-02-02 10:06:25
回答 2查看 1.4K关注 0票数 2

我目前正在使用下面的代码来提取InnerText,但是,如果我被一堆html <--的注释掉的行卡住了,我如何使用下面的代码删除这些行?

代码语言:javascript
运行
复制
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();
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-02 10:33:56

This可能是一个更好的答案:

代码语言:javascript
运行
复制
public static void RemoveComments(HtmlNode node)
{
    foreach (var n in node.ChildNodes.ToArray())
        RemoveComments(n);
    if (node.NodeType == HtmlNodeType.Comment)
        node.Remove();
}
票数 2
EN

Stack Overflow用户

发布于 2012-02-03 05:59:29

只需按注释节点过滤节点,并对其调用remove。

代码语言:javascript
运行
复制
var rootNode = doc.DocumentNode;
var query = rootNode.Descendants().OfType<HtmlCommentNode>().ToList();
foreach (var comment in query)
{
    comment.Remove();
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9106177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档