我在一個文件夾中有大約5000個html文件。我需要遍歷它們,打開,使用xpath來獲取10個值,關閉並存儲在(SQL Server)數據庫中。如何從.Net中的許多HTML文件讀取xpath值?
使用.Net讀取xpath值的最簡單方法是什麼?
xpaths應該非常穩定。
請提供的示例代碼讀取一個值,說/ HTML /頭/標題/文本()
感謝
我在一個文件夾中有大約5000個html文件。我需要遍歷它們,打開,使用xpath來獲取10個值,關閉並存儲在(SQL Server)數據庫中。如何從.Net中的許多HTML文件讀取xpath值?
使用.Net讀取xpath值的最簡單方法是什麼?
xpaths應該非常穩定。
請提供的示例代碼讀取一個值,說/ HTML /頭/標題/文本()
感謝
我想你應該看看HTML Agility Pack。它是一個HTML解析器而不是一個XML解析器,對於這個任務來說更好。如果有任何與解析XML不一致的東西,解析器將拋出異常。使用HTML解析器可以爲輸入文件提供更多的靈活性。
舉例說明如何做所有HREF(鏈接)一些屬性:
HtmlDocument doc = new HtmlDocument();
doc.Load("file.htm");
foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a[@href"])
{
HtmlAttribute att = link["href"];
att.Value = FixLink(att);
}
我不是附近的編譯器,但你想要的例子是這樣的:
string title = doc.DocumentNode.SelectSingleNode("//title").InnerText;
作品像一個魅力。謝謝一堆 – 2010-07-27 03:33:01
是這些XHTML文件?如果沒有,你將不得不使用Tidy或類似的東西將它們變成可分析的XML。如果他們已經是XHTML,你應該可以很容易地做到這一點 - 讀取文件到XDocument,查詢你需要的值,保存到數據庫 - 然後重複下一個文件 – Jason 2010-07-27 01:09:49
它們是XHTML 1.0 Transitional – 2010-07-27 01:16:01