Ian*_*lay 0 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;
Run Code Online (Sandbox Code Playgroud)
字符串mtext在删除标记的文本之间没有间距,我如何"删除"并用换行符替换删除的标记或为所有标记实例替换""?
你只是删除节点.而不是这个,你应该用新的节点替换这些节点.这将用空格符号替换您的<script>和<style>节点:
foreach (var node in doc.DocumentNode.SelectNodes("//script|//style").ToArray())
{
var replacement = doc.CreateTextNode(" ");
node.ParentNode.ReplaceChild(replacement, node);
}
Run Code Online (Sandbox Code Playgroud)