什么是移除所有空和不必要节点的首选方法?例如,
我需要使用一些递归函数来完成吗? 我想可能会有类似以下的解决方案:
但是这显然行不通(stackoverflow异常)。
<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异常)。
img
元素视为空的话,我会感到惊讶。 - user743382