我的XML:C#读取XML使用LINQ
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Bank>
<Customer id="0">
<FName>Adam</FName>
<LName>Kruz</LName>
<Accounts>
<Acount id="0" money="1500" />
<Acount id="1" money="6500" />
</Accounts>
</Customer>
</Bank>
我的LINQ代码:
private void loadCustomers()
{
customers =
(
from c in XDocument.Load("database.xml").Root.Descendants("Customer")
select
new Customer((int) c.Attribute("id"), (string) c.Element("FName"), (string) c.Element("LName"))
{
accounts =
(
from a in c.Descendants("Account")
select new Account((int) a.Attribute("id"))
{
money = (double) a.Attribute("money")
}
).ToList()
}
).ToList();
}
问题:
我有一流的客户的一个泛型列表。该类包含3个属性和另一个类Account的通用列表。我已经能够加载客户数据(ID,FNAME,LNAME),但我不知道如何加载从帐户子树:(任何数据
代码给我一个错误
未处理的异常类型“System.ArgumentNullException”发生在System.Xml.Linq.dll - 其他信息:值不能为空
我一直在试图代码的许多变种,我只是不能使它工作:(。可有人张贴了我一个工作代码如何加载帐户子树?多谢!
改变你的XML'<帐户'为'<帐户'或更改代码'c.Descendants(“Acount”)' –
谢谢我是相当累了的时候,我写这个:( – Safiron