【发布时间】:2010-06-24 19:26:32
【问题描述】:
这是我的班级结构:
class DataItem
{
public string Id { get; set; }
public string Type { get; set; }
private Dictionary<string, DataProperty> properties = new Dictionary<string, DataProperty>();
public Dictionary<string, DataProperty> Properties
{
get { return properties; }
set { properties = value; }
}
}
public class DataProperty
{
public string Key { get; set; }
public string Value { get; set; }
public bool Required { get; set; }
}
这是我要使用的 XML(注意:如果需要,我可以更改 xml):
<Data>
<DataItem>
<id>ph15</id>
<type>core</type>
<properties>
<DataProperty>
<key>size</key>
<value>50%</value>
<required>false</required>
</DataProperty>
<DataProperty>
<key>color</key>
<value>red</value>
<required>true</required>
</DataProperty>
</properties>
</DataItem>
<DataItem>
<id>ph234</id>
<type>core</type>
<properties>
</properties>
</DataItem>
</Data>
最终应该将 XML 加载到另一个字典中:
private Dictionary<string, DataItem> Mydata;
【问题讨论】:
-
我建议将 xml 映射到更直接的字段并使用属性进行 [de] 序列化。然后有逻辑从/到另一个数据结构[de]填充字典。 LINQ to xml 也可以成为你的朋友。