我有以下的後代:如何訪問該的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