Usuń wszystkie puste / niepotrzebne węzły z HTML
Jaki byłby preferowany sposób usunięcia wszystkich pustych i niepotrzebnych węzłów? Na przykład
<p></p>
należy usunąć i<font><p><span><br></span></p></font>
należy również usunąć (dlatego tag br jest w tym przypadku uważany za niepotrzebny)
Czy będę musiał użyć do tego jakiejś funkcji rekurencyjnej? Myślę o czymś takim, może:
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();
}
}
}
}
Ale to oczywiście nie działa (wyjątek stackoverflow).