HtmlAgilityPack : 태그 제거, 공백으로 대체

c# html-agility-pack

문제

string url = "http://www.myurl.xxx";
HtmlWeb webGet = new HtmlWeb();
HtmlDocument doc =  webGet.Load(url);

foreach(var script in doc.DocumentNode.Descendants("script").ToArray())
   script.Remove();


foreach(var style in doc.DocumentNode.Descendants("style").ToArray())
   style.Remove();

 string mtext =  doc.DocumentNode.InnerText;

문자열 mtext는 태그가 제거 된 텍스트 사이에 간격이 없습니다. 어떻게 제거하고 제거 된 태그를 줄 바꿈으로 바꾸거나 모든 태그 인스턴스를 ""대체 할 수 있습니까?

수락 된 답변

노드를 제거하는 것뿐입니다. 대신이 노드를 새 노드로 대체해야합니다. 이렇게하면 <script><style> 노드가 공백 기호로 바뀝니다.

foreach (var node in doc.DocumentNode.SelectNodes("//script|//style").ToArray())
{
    var replacement = doc.CreateTextNode(" ");
    node.ParentNode.ReplaceChild(replacement, node);
}



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