这是我第一次使用,所以也许我有一个愚蠢的问题。 我想从XML解析两种类型的对象。第一个是简单的:
<MyObjects>
<MyObjectType1>
<id>1</id>
<name>EasyObject1</name>
<param1>1.05</param1>
<param2>1.25</param2>
</MyObjectType1>
</MyObjects>
我正在使用以下函数进行解析:
private ObjectsModel LoadObjects4File(XDocument xdoc)
{
ObjectsModel loadedModels = new ObjectsModel();
//************************
var data = from query in xdoc.Descendants("MyObjectType1")
select new MyObjectType1Model
{
ID = (int)query.Element("id"),
Name = (string)query.Element("name"),
Param1= (float)query.Element("param1"),
Param2= (float)query.Element("param2")
};
for (int i = 0; i<data.ToList().Count; i++)
{
loadedModels .AddExistingPropeller(data.ElementAt(i));
}
return loadedModels ;
}
现在我想为更复杂的XML做类似的事情,它包含有关由属性和具有自己参数的对象组成的对象的信息。 XML看起来像这样:
<Project>
<id>1</id>
<name>Project 1</name>
<dateCreated>1.1.2014</dateCreated>
<dateModified>2.1.2014</dateModified>
<Statistic>
<param1>123</param1>
<param2>123</param2>
</Statistic>
<Measurements>
<Measurement>
<id>1</id>
<name>Measurement 1</name>
<param1>10,10,5,5</param2>
<param2>1</param2>
<ObjectProperty1>
<id>1</id>
<name>Eq 1</name>
<param1>1.05</param1>
<param2>1.25</param#2>
</ObjectProperty1>
.....
我想我需要对XDocument进行递归扫描,逐个构建最终的Project对象,但我有点卡在这上面。有谁知道如何做到这一点?任何想法都会被认可......