HtmlAgilityPack 刪除script、style以及註釋標籤

foreach(var script in doc.DocumentNode.Descendants("script").ToArray())
    script.Remove();
foreach(var style in doc.DocumentNode.Descendants("style").ToArray())
    style.Remove();

foreach (var comment in doc.DocumentNode.SelectNodes("//comment()").ToArray())
    comment.Remove();//新增的代碼

string innerText = doc.DocumentNode.InnerText;

解釋:HtmlAgilityPack是使用XPath語法,"//comment()"在XPath中表示「全部註釋節點」,關於XPath的詳細用法請參考XPath的資料。spa

其餘可能有用的技術點:
一、獲取網頁title:doc.DocumentNode.SelectSingleNode("//title").InnerText;
解釋:XPath中「//title」表示全部title節點。SelectSingleNode用於獲取知足條件的惟一的節點。code


二、獲取全部的超連接:doc.DocumentNode.Descendants("a")blog


三、獲取name爲kw的input,也就是至關於getElementsByName():
            var kwBox = doc.DocumentNode.SelectSingleNode("//input[@name='kw']");ip

解釋:"//input[@name='kw']"也是XPath的語法,表示:name屬性等於kw的input標籤。get

相關文章
相關標籤/搜索