删除所有空节点和不必要节点的首选方法是什么?例如
<p></p>
应该被删除并且<font><p><span><br></span></p></font>
也应该被删除(因此在这种情况下 br 标签被认为是不必要的)
我是否必须为此使用某种递归函数?我在想一些事情可能是这样的:
RemoveEmptyNodes(HtmlNode containerNode)
{
var nodes = containerNode.DescendantsAndSelf().ToList();
if (nodes != null)
{
foreach (HtmlNode node in nodes)
{
if (node.InnerText == null || node.InnerText == "")
{
RemoveEmptyNodes(node.ParentNode);
node.Remove();
}
}
}
}
但这显然不起作用(stackoverflow异常)。