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

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

一般承认的答案

你需要做这样的事情:

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


许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因