解析xml列表,null错误

时间:2016-11-18 13:04:51

标签: c# xml

<items>
  <item id="2" value="100"/>
  <item id="3" value="50"/>
</items>

我想将其放入List<Item>,其中Item是一个包含IdValue属性的类。

但是以下代码:

XDocument xmlDoc = XDocument.Load(@"itemsdata.xml");
List<Item> items= xmlDoc.Descendants("items").Select(x => new Transfer()
{
    FromId = (uint) x.Element("id"),
    Amount = (uint) x.Element("value")
}).ToList();

引发以下异常:

  

“值不能为空。\ r \ nParameter name:element”

1 个答案:

答案 0 :(得分:2)

您可能应该搜索"item"后代(而不是"items"后代),然后查询相应的属性

List<Item> items = xmlDoc.Descendants("item").Select(x => new Item()
{
    FromId = (uint) x.Attribute("id"),
    Amount = (uint) x.Attribute("value")
}).ToList();