我有以下的后代:如何访问该的XDocument与XML LINQ
<ReportItem Asset="111" ESN="111" Longitude="123" Latitude="123" MessageTime="2/16/2011" MessageTimeZone="CST" MessageTimeZoneGMTOffset="-360" SpeedUnit="Mph" Speed="111" Direction="West" Address="test" Name="testing" />
有在相同的XDocument这些数倍,但我通过他们的循环有以下:
IEnumerable<XElement> elements = XData.Descendants("ReportItem");
foreach (XElement element in elements)
然后,我试图将这些分配给包含相同名称的业务对象类。 我想知道这是为什么不给他们分配在所有:
foreach (XElement element in elements)
{
_dataPoints.AddRange((from datapoint in elements.Attributes("ReportItem")
select new DataPoint()
{
Asset = element.Attribute("Asset").Value,
ESN = element.Attribute("ESN").Value,
Longitude = element.Attribute("Longitude").Value,
Latitude = element.Attribute("Latitude").Value,
MessageTime = element.Attribute("MessageTime").Value,
MessageTimeZone = element.Attribute("MessageTimeZone").Value,
MessageTimeZoneGMTOffset = element.Attribute("MessageTimeZoneGMTOffset").Value,
MinutesIdle = element.Attribute("MinutesIdle").Value,
Address = element.Attribute("Address").Value,
Name = element.Attribute("Name").Value,
TripDistance = element.Attribute("TripDistance").Value,
TripDistanceUnit = element.Attribute("TripDistanceUnit").Value,
}).ToList());
}
}
这给了我一个对象未设置为对象的异常 – user380432 2011-03-15 17:44:39
的实例上面的代码工作为我测试的使用匿名类和删除不存在的属性,这些属性您正在使用。你必须有一个预先存在的'_dataPoint'变量,当然这个变量初始化为一个类型为'List'的空列表。 –
BrokenGlass
2011-03-15 17:52:43