2010-07-27 73 views
2

我在一個文件夾中有大約5000個html文件。我需要遍歷它們,打開,使用xpath來獲取10個值,關閉並存儲在(SQL Server)數據庫中。如何從.Net中的許多HTML文件讀取xpath值?

使用.Net讀取xpath值的最簡單方法是什麼?

xpaths應該非常穩定。

請提供的示例代碼讀取一個值,說/ HTML /頭/標題/文本()

感謝

+0

是這些XHTML文件?如果沒有,你將不得不使用Tidy或類似的東西將它們變成可分析的XML。如果他們已經是XHTML,你應該可以很容易地做到這一點 - 讀取文件到XDocument,查詢你需要的值,保存到數據庫 - 然後重複下一個文件 – Jason 2010-07-27 01:09:49

+0

它們是XHTML 1.0 Transitional – 2010-07-27 01:16:01

回答

4

我想你應該看看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; 
+0

作品像一個魅力。謝謝一堆 – 2010-07-27 03:33:01