2012-11-12 97 views
0
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; 

串多行文字有文字之間沒有間隔,其中標籤已被刪除,我怎麼能「刪除」,並用換行符或「」爲所有標籤更換去除標籤實例?HtmlAgilityPack:刪除標記,用空格替換

回答

5

你只是刪除節點。相反,你應該用新的替換那些節點。這將用空格符號替換您的<script><style>節點:

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