使用 HtmlAgilityPack 从已解析的 HTML 中删除所有 类 和 ID

Remove all classes and ids from parsed HTML with HtmlAgilityPack

我使用 HtmlAgilityPack 来解析一些 html 页面,我从该页面提取 html 标签,如下所示:

HtmlNode bodyContent = document.DocumentNode.SelectSingleNode("//body");
var all_text = bodyContent.SelectNodes("//div | //ul | //p | //table");

在返回的 html 中,每个标签都包含 class 和 id,我想删除所有 id-s 和所有 class 我该怎么做?

也许你应该检查这个 link: link.

尽我所能,告诉你当你有 HtmlNode 时你可以使用它的 属性 属性。这个集合有方法 Remove(string) 接收你想要删除的属性的名称。好吧,我在一个小项目中就是这样使用它的。我不确定这是否对您有帮助。

所以基本上:

HtmlNode bodyContent = document.DocumentNode.SelectSingleNode("//body");
var all_text = bodyContent.SelectNodes("//div | //ul | //p | //table");

foreach(var node in all_text)
{
   node.Attributes.Remove("class");
   node.Attributes.Remove("id");
}