使用 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");
}
我使用 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");
}