空で不要なノードをすべて削除するには、どのような方法が望ましいでしょうか? 例えば
<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 例外)。