我正在努力让Html Agility Pack适用于我的情况。我需要检测现有HTML页面中的所有脚本元素并将其删除,将更改保存到另一个文件。这里,bodyNode返回正确数量的脚本标记,但我无法删除它们。新文件仍然包含这些标记。
if (doc.DocumentNode != null)
{
var bodyNode = doc.DocumentNode.SelectNodes("//script");
if (bodyNode != null)
{
bodyNode.Clear(); // clears the collection only
}
doc.Save("some file");
}
答案 0 :(得分:14)
你需要做这样的事情:
foreach(HtmlNode node in bodyNode)
{
node.ParentNode.RemoveChild(node);
}