我有一个这样的xml文件:
<CommissionTypes>
<Type>CPA</Type>
<Lender>
<Seq>001</Seq>
<PostUrl>http://www.mysite.com</PostUrl>
</Lender>
</CommissionTypes>
</Lenders>
得到这样的数据:
var config = XDocument.Load(xml);
我需要将它映射到一个类集合,该类的结构如下:
public class Lender
{
public string Type { get; set; }
public int Seq { get; set; }
public string PostUrl { get; set; }
public void Lender(string type, int seq, string postUrl)
{
Type = type;
Seq = seq;
PostUrl = postUrl;
}
}
一段时间以来,我一直在尝试使用 linq 执行此操作,但尚未成功。我想要做的是检索类型为“CPA”或任何其他类型的所有贷方。
有什么建议吗?
// * 更新 * //
下面的更新是我目前所在的位置。它不起作用,得到一个“对象引用未设置为实例”错误 wgere 箭头是。
<CommissionTypes>
<Type type="CPA">
<Lender>
<Seq>001</Seq>
<PostUrl>http://www.mysite.com</PostUrl>
</Lender>
</Type>
</CommissionTypes>
public static List<Lender> GetLenders(string xml)
{
var myXml = XDocument.Load(xml);
var lenders = new List<Lender>();
lenders = (from type in myXml.Descendants("Type")
where type.Attribute("type").Value == "CPA"
===> select new Lender(
"CPA",
type.Element("Seq").Value.ConvertTo<int>(),
type.Element("PostUrl").Value)).ToList();
return lenders;
}