HTMLアジリティパックを使用して、WYSIWYGへの入力をクリーンアップしています。これはこれを行うための最良の方法ではないかもしれませんが、私は正規表現との接触で爆発する開発者と協力しているので、それで十分です。
私のWYSIWYGコンテンツは次のようになります(たとえば):
<p></p>
<p></p>
<p><span><input id="textbox" type="text" /></span></p>
空の段落タグを削除する必要があります。これが私が今それをしている方法です:
HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//p");
if (nodes == null)
return;
foreach (HtmlNode node in nodes)
{
node.InnerHtml = node.InnerHtml.Trim();
if (node.InnerHtml == string.Empty)
node.ParentNode.RemoveChild(node);
}
ただし、HTMLは完全なドキュメントではないため、段落タグには親ノードがなく、 nullであるRemoveChild
ため失敗します。ParentNode
タグを削除する別の方法が見つかりませんが、誰かが別の方法を教えてもらえますか?