我正在使用HtmlAgilityPack解析包含HTML代码的字符串。我想做的是删除<span>
标签,但保持标签之间的内容。到目前为止,这是我的代码:
var text = @"<div><span>This is some text.</span>More text here.</div>
<div>I have a question.<span>Hi</span></div>";
var doc = new HtmlDocument();
doc.LoadHtml(text);
var nodes = doc.DocumentNode.SelectNodes("//span");
foreach (HtmlNode node in nodes)
{
node.Remove();
}
String result = doc.DocumentNode.InnerHtml;
问题是,result
缺少“这是一些文本”。-<span>
标签之间的文本。我该如何完成我想做的事情?我意识到node.Remove
实际上删除了整个节点,我只是希望有一种方法可以说remove.Node
,但是保留内容。
在保留孙子代的同时,从父节点中删除该节点。
foreach (var node in nodes)
{
node.ParentNode.RemoveChild(node,true);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句