InnerText에서 주석 처리 된 행 제거하기

c# html-agility-pack

문제

나는 현재 내가 주석으로 HTML의 라인의 무리와 함께 붙어 무슨 일있어입니다, 그러나, innerText와를 추출 아래의 코드를 사용하고 있습니다 <-- 어떻게 아래의 코드를 사용하여이를 제거하는 방법은 무엇입니까?

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();

수락 된 답변

이것은 아마도 더 나은 대답 일 것입니다.

public static void RemoveComments(HtmlNode node)
{
    foreach (var n in node.ChildNodes.ToArray())
        RemoveComments(n);
    if (node.NodeType == HtmlNodeType.Comment)
        node.Remove();
}

인기 답변

주석 노드로 노드를 필터링하고 제거하십시오.

var rootNode = doc.DocumentNode;
var query = rootNode.Descendants().OfType<HtmlCommentNode>().ToList();
foreach (var comment in query)
{
    comment.Remove();
}



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.