2
我需要反序列化多态类的结果xml。 下面是2个例子。使用简单XML反序列化多态类使用简单XML反序列化多态类
实施例1:
<Root>
<TYPE>TYPE1</TYPE>
<Data>
<data1>fdfdf</data1>
<data2>dfdfdf<data2>
</Data>
</Root>
实施例2:
<Root>
<TYPE>TYPE2</TYPE>
<Data>
<data3>fdfdf</data1>
<data4>dfdfdf<data2>
</Data>
</Root>
我的Java类的结构是在XML
class Root {
String TYPE ;
Data data;
}
class Data {
}
class DataType1 extends Data{
data1;
data2;
}
class DataType2 extends Data{
data3;
data4;
}
Root.TYPE可以用来确定是否在数据xml适用于DataType1或DataType2。 XML不提供标签的任何“类”属性。
我正在尝试从简单的XML各种Strategy类,但无法使其工作。
您是否有任何建议我应该如何使用哪些策略或其他类,以便在反序列化过程中正确解析xml并创建DataType1或DataType2的适当对象。
感谢,
图莎尔
您是否想过只需读取XML中的type值并使用switch语句。 – alykhalid 2012-03-14 16:19:31
我的意图是在XML解析完成时生成类DataType1或DataType2的正确对象。当我尝试使用当前类结构解析xml时,出现错误消息 “org.simpleframework.xml.core.ElementException:元素'data1'在类1中没有类com.test.xml.Data中的匹配” – Tushar 2012-03-15 08:50:07