C# HtmlAlityPack SelectNodes NullPointerException

C# HtmlAlityPack SelectNodes NullPointerException,c#,web-scraping,html-agility-pack,C#,Web Scraping,Html Agility Pack,我正在试验HtmlAgilityPack。目前,我正在尝试从C#中的表中提取数据。我将为此使用xPath,但似乎有些不对劲。。我已经测试了我的xPath查询,它实际上返回了正确的数据,但是我试图从C#中获取数据,它返回null。 有什么想法吗 class Program { static void Main(string[] args) { var hw = new HtmlWeb(); HtmlDocument doc = hw.Load("ht

我正在试验HtmlAgilityPack。目前,我正在尝试从C#中的表中提取数据。我将为此使用xPath,但似乎有些不对劲。。我已经测试了我的xPath查询,它实际上返回了正确的数据,但是我试图从C#中获取数据,它返回null。 有什么想法吗

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();
    }
}

使用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();

使用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();

谢谢我不知道。我将在将来使用LINQ:)谢谢!我不知道。将来我将使用LINQ:)