Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Html敏捷包删除属性_Html_Parsing_Html Agility Pack - Fatal编程技术网

使用Html敏捷包删除属性

使用Html敏捷包删除属性,html,parsing,html-agility-pack,Html,Parsing,Html Agility Pack,运行此代码时,将触发.RemoveAll方法: HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(html); var elementsWithAttribute = doc.DocumentNode.SelectNodes("//@*"); if (elementsWithAttribute != null) { foreach (var element in elementsWithAttribute) {

运行此代码时,将触发.RemoveAll方法:

HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
var elementsWithAttribute = doc.DocumentNode.SelectNodes("//@*");
if (elementsWithAttribute != null)
{
    foreach (var element in elementsWithAttribute)
    {
        element.Attributes.RemoveAll();
    }
}
但是
doc.DocumentNode.OuterHtml仍然包含带有属性的标记。(我曾尝试通过save方法和内存流将文档刷新为字符串,但结果是一样的)


如何从所有标记中删除所有属性(但保留标记)?

有趣的是,如果在运行循环一次后重新运行循环(使用调试模式),select返回0行,表示删除已“生效”-但在html表示中看不到结果!如果为
doc.DocumentNode.OuterHtml
运行类似的
foreach
,会发生什么?OuterHtml是一个字符串-我不认为我可以用同样的方式迭代它,对吧?也许这就是为什么属性没有从OuterHtml中删除。