Asp.net 是否可以从xml中获取填充类对象?
我有这样一个xml文件:Asp.net 是否可以从xml中获取填充类对象?,asp.net,linq,linq-to-xml,Asp.net,Linq,Linq To Xml,我有这样一个xml文件: <CommissionTypes> <Type>CPA</Type> <Lender> <Seq>001</Seq> <PostUrl>http://www.mysite.com</PostUrl> </Lender> </CommissionTypes> </Lenders> va
<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;
}
}
我需要将其映射到一个类集合,该类的结构如下:
<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 arrow为
<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;
}
001
http://www.mysite.com
公共静态列表(字符串xml)
{
var myXml=XDocument.Load(xml);
var贷方=新列表();
贷方=(来自myXml.substands(“类型”)中的类型)
其中type.Attribute(“type”).Value==“CPA”
==>选择新贷款人(
“注册会计师”,
type.Element(“Seq”).Value.ConvertTo(),
type.Element(“postrl”).Value)).ToList();
归还贷款人;
}
您的查询不正确,因为Seq
不是Lender
元素的直接子元素
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"
from lender in type.Elements("Lender")
select new Lender(
"CPA",
(int)lender.Element("Seq"),
(string)lender.Element("PostUrl"))).ToList();
return lenders;
}
公共静态列表(字符串xml)
{
var myXml=XDocument.Load(xml);
var贷方=新列表();
贷方=(来自myXml.substands(“类型”)中的类型)
其中type.Attribute(“type”).Value==“CPA”
类型元素中的贷方(“贷方”)
选择新贷款人(
“注册会计师”,
(int)贷款人要素(“序号”),
(字符串)lender.Element(“PostUrl”)).ToList();
归还贷款人;
}
请看这里。对不起,这不是我要看的for@dotnetnoob你的特质在哪里?请看Peretz链接中的示例,这正是您需要的。@友好-感谢您的反馈-请参阅更新。