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合法嗎? 是的,了解原因