我正在努力让
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"); }
解决方法
你需要做这样的事情:
foreach(HtmlNode node in bodyNode) { node.ParentNode.RemoveChild(node); }