我想知道是否有一种简单的方法可以将xml文件反序列化为更大的对象,而无需再次指定每个元素。所以我希望xml元素基于相同类型的其他元素,并且只指定差异。
示例类:
ClassA
{
[XmlElement("val1")]
public AnySerializableObject val1;
[XmlElement("val2")]
public AnySerializableObject val2;
[XmlElement("val3")]
public AnySerializableObject val3;
}
示例XML内容:
<classA id="object1">
<val1>anything</val1>
<val2>whatever</val2>
<val3>important</val3>
</classA>
<classA id="object2" template="object1">
<val3>not really important</val3>
</classA>
简单序列化产生两个ClassA对象:
object1: val1 = anything, val2 = whatever, val3 = important
object2: val1 = null, val2 = null, val3 = not really important
是否有一种简单的方法来读取xml文件,以便object2使用未指定的object1的值?
所以它是
object2: val1 = anything, val2 = whatever, val3 = not really important
或者我是否必须编写自己的Serializer,这似乎相当复杂?