1

HTML ドキュメントがあり、すべての子要素を含む "form" タグを削除したいと考えています。

        var nodeCollection = doc.DocumentNode.SelectNodes(".//form");
        int attributeRemoveCount = 0;

        if (nodeCollection != null)
        {
            foreach (HtmlNode link in nodeCollection)
            {
                link.Remove();
            }
        }

私のhtmlはに似ています

<form name="LPHitCountForm">
  <input type="hidden" name="LPHitCount" value="0">
</form>

上記のコードは、html から "" この行を削除するだけです。以下のタグはそのままです。したがって、最終的なhtmlは次のようになります。

  <input type="hidden" name="LPHitCount" value="0">
</form>

RemoveAll 機能も試しましたが、機能していません。他の方法はありますか?

4

1 に答える 1

0

この問題はform、ライブラリ内の およびその他のタグの特別な処理が原因です。説明については、この質問とその回答を参照してください。

これを修正する簡単な方法は次のとおりです。

//Do this before using the library.
HtmlNode.ElementsFlags.Remove("form");
于 2013-09-20T09:58:11.190 に答える