使用Html Agility Pack查找和删除指定的HTML标记

时间:2011-06-13 16:33:32

标签: html-agility-pack

我正在努力让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");        
 }

1 个答案:

答案 0 :(得分:14)

你需要做这样的事情:

foreach(HtmlNode node in bodyNode)
{
   node.ParentNode.RemoveChild(node);
}