1

我有 html 文档,我想删除“表单”标签及其所有子元素。

        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 回答