【发布时间】:2009-10-07 11:49:22
【问题描述】:
我正在尝试将 XML 字符串中的数据加载到某种结构中,因此一旦加载,我就可以说 Data.PropertyName 来读取这些值。
下面的代码是将数据加载到结构中的最佳方式吗?
显然调用 First() 会造成内存问题,因此如果您有包含子元素的元素,那么为每个元素调用 First() 会成为问题吗?
谢谢
string xml = @"<ROOT>
<ID>1</ID>
<NAME>RF1</NAME>
<STAT>10200</STAT>
<TEST>
<ID>1</ID>
<NAME>BIGUN</NAME>
</TEST>
</ROOT>
";
XElement Data = XElement.Parse(xml);
var Element = (from p in Data.Descendants("ROOT")
select new {
ID = (int)p.Element("ID"),
Test = new {
ID = p.Element("TEST").Descendants("ID").First(),
NAME = p.Element("TEST").Descendants("NAME").First()
},
Stat = p.Element("STAT") }).First();
//Read Element.ID, Element.Test.Name
【问题讨论】:
标签: c# linq c#-3.0 linq-to-xml