从xml错误创建对象{“值不能为空。\ r \ n \ nParameter name:element”}

时间:2014-06-13 07:42:42

标签: c# xml linq

我需要创建一个解析XML文档的对象列表。 投射到AdvertisementFullScreen

时会出现问题

我收到此错误:

{"Value cannot be null.\r\nParameter name: element"}

我的代码:

var advFs = loadedData.Element("xxx")
                           .Elements("advertisementsFullScreen")
                           .Elements("advertisement") // RESULT BELOW
                           .Select(x=>new AdvertisementFullScreen()
                           {
                               Id = (int)x.Element("id"),
                               ImageUrl = (string)x.Element("imageUrl"),
                               DisplayTime = new TimeSpan(0, 0, (int)x.Element("displayTime"))
                           }).ToList();

投射前的结果是:

[0] = <advertisement id="7001" imageUrl="C:/xxx/Test-data/data-offline/Assets/advertisementsFullScreen/1.png" displayTime="5" isSelfPromo="1"></advertisement>

1 个答案:

答案 0 :(得分:2)

您选择Element(),但id,imageUrl,displayTime不是元素 - 它们是属性。

修改后的查询(只是重要部分):

Id = (int)x.Attribute("id"),
ImageUrl = (string)x.Attribute("imageUrl"),
DisplayTime = new TimeSpan(0, 0, (int)x.Attribute("displayTime"))