2
我試圖用HtmlAgilityPack使用SelectNodes
並從每個節點得到一些價值做一些屏幕抓取返回HtmlAgilityPack的SelectNodes,處置
下面是代碼
private readonly HtmlDocument _document = new HtmlDocument();
public void ParseValues(string html)
{
_document.LoadHtml(html);
var tables = _document.DocumentNode.SelectNodes("//table");
foreach (var table in tables)
{
_document.LoadHtml(table.OuterHtml);
var value = _document.DocumentNode.SelectSingleNode("//tbody[1]/tr/td[0]");
}
}
但我注意到嘗試時從文檔根目錄實際搜索的foreach循環中選擇子項。一些真正煩人的東西。
問題:
有沒有辦法選擇的值從每個表從
SelectNodes
返回,而不必從HtmlDocument
創建新的文檔實例?有沒有辦法處置
HtmlDocument
,因爲我注意到每次使用_document.LoadHtml(html)
時都有內存泄漏;
那麼如何處置HtmlDocument? – 2013-02-24 15:19:31
另外我得到這個錯誤,如果我沒有創建一個新的HtmlDocument實例。 startIndex不能大於字符串的長度。 – 2013-02-24 15:46:04
我只是回答你的第一個問題。 – 2013-02-25 07:08:16