使用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合法嗎? 是的,了解原因