如何删除HTML标签中的所有属性

3
我想从HTML标签中删除所有属性,例如


<div class="" style="" >

我尝试使用HTMLAgilityPack,但似乎SelectNodes无法工作。
foreach(var eachNode in HtmlDocument.DocumentNode.SelectNodes("//*"))
{
   eachNode.Attributes.RemoveAll();
}

我该如何在UWP中使用C#使这个工作正常?


你怎么知道它不起作用? - har07
在 UWP 应用程序中不可用 SelectNodes。 - Sagar Patel
1个回答

0
作为 SelectNodes("//*") 的替代方案,您可以使用 Descendants(),它应该返回相同的结果:
foreach(var eachNode in HtmlDocument.DocumentNode.Descendants().Where(x => x.NodeType == HtmlNodeType.Element))
{
    eachNode.Attributes.RemoveAll();
}

2
使用相同的代码删除所有属性时,出现了堆栈溢出异常。通过使用 .Where(x => x.NodeType == HtmlNodeType.Element && x.Attributes.Any()) 过滤掉后代元素来解决问题。 - Dmytro
我本来期望会有一个 Descendants<T> 的重载。 - user11523568

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接