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