我有一个像
这样的课程public class testClass
{
private string _field1;
public string Field1
{
get { return _field1; }
set { _field1 = value; }
}
private string _field2;
public string Field2
{
get { return _field2; }
set { _field2 = value; }
}
public testClass(f1, f2)
{
_field1 = f1;
_field2 = f2;
}
}
我需要像记录集一样解析一个简单的html表,为每个testClass
创建一个tr
对象,其Field1
和Field2
包含{{1}每个InnerText
这样的事情:
td
但我不知道如何做到这一点......
答案 0 :(得分:1)
当你在linq查询中执行投影时,你应该将行中的值传递给你的类的构造函数:
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(HtmlCode);
List<testClass> Results = (from tr in doc.DocumentNode.Descendants("tr")
select new testClass(
tr.Descendants[0].InnerText,
tr.Descendants[1].InnerText
)).ToList();
以上示例依赖于每行至少有两个单元格的事实。您可能需要进行一些错误检查以确保是这种情况。