2017-04-14 64 views
1

我正在試驗HtmlAgilityPack。目前我正在嘗試從C#中的表中抓取數據。我將爲此使用xPath,但有些東西似乎不正確..我測試了我的xPath查詢,並且它實際上返回了正確的數據,但是我試圖從C#中刪除它,它返回null。 任何想法?HtmlAgilityPack SelectNodes空指針異常

class Program 
{ 
    static void Main(string[] args) 
    { 
     var hw = new HtmlWeb(); 
     HtmlDocument doc = hw.Load("http://www.filesignatures.net/index.php?page=all"); 

     foreach (HtmlNode row in doc.DocumentNode.SelectNodes("//html//body//div[@id='container']//div[@id='body']//center//table//tbody//tr")) 
     { 
       Console.WriteLine(row.InnerText); 
     } 
     Console.ReadKey(); 
    } 
} 

回答

0

使用xPath很難維護或調試。您可以改用LINQ。

var hw = new HtmlWeb(); 
doc = hw.Load("http://www.filesignatures.net/index.php?page=all"); 

foreach (HtmlNode row in doc.DocumentNode.Descendants("table").FirstOrDefault(_ => _.Id.Equals("innerTable")).Descendants("tr")) 
{ 
    Console.WriteLine(row.InnerText); 
} 
Console.ReadKey(); 
+0

謝謝!不知道這一點。我將在未來使用LINQ –