我对使用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文件中。
答案 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??"" };
你试试这个吗?