从具有空值的网站的表中解析数据

时间:2013-08-27 19:43:52

标签: c# linq excel html-parsing html-agility-pack

我对使用LINQ有点新意。我想要做的是从具有日语词汇的网站提取数据。表内有3个单元格。偶尔有些单元格是空白的,因为词汇表中没有任何必需的单元格。 我使用HTMLAgilityPack从网站上提取数据。但是,当我尝试解析它时,它显示一个错误,说它不能有空值。

 HtmlAgilityPack.HtmlDocument doc = hw.Load(@"http://www.tanos.co.uk/jlpt/jlpt1/vocab/combined/");
        var query = from table in doc.DocumentNode.SelectNodes("//table").Cast<HtmlNode>()
                    from row in table.SelectNodes("tr").Cast<HtmlNode>()
                    from cell in table.SelectNodes("th|td").Cast<HtmlNode() //where cell != null
                    select new { Table = table.Id, cellText = cell.InnerText };

我不知道如何投射它所以我将能够解析现在的信息。 最终我想使用foreach将这些单元格放入excel文件中。

1 个答案:

答案 0 :(得分:0)

 var query = from table in doc.DocumentNode.SelectNodes("//table").Cast<HtmlNode>()
                    from row in table.SelectNodes("tr").Cast<HtmlNode>()
                    from cell in table.SelectNodes("th|td").Cast<HtmlNode() //where cell != null
                    select new { Table = table.Id, cellText =cell==null?"":cell.InnerText??"" };
你试试这个吗?