我正在使用XStream将XML转换为javabean。 这是我试图处理的XML的一个例子:
<productlist>
<a>
<name>a1</name>
</a>
<a>
<name>a2</name>
</a>
<b>
<name>b1</name>
</b>
<b>
<name>b2</name>
</b>
</productlist>
我使用了一个抽象产品,并将A和B设置为它的两个子类。 当我想使用它从javabean转换为XML时,它运行良好,因为我使用List并向其添加A或B的实例。 XStreamAlias也可以正常工作。
但是,当我需要使用它从XML传输到javabean时,它不起作用。似乎XStream无法自动识别子类并将其放入List。
现在我必须创建一个ProductList类,将List List和List放入其中,并使用@XStreamImplicit忽略列表名称。它确实有效,但是如果创建了新的子类C,我将不得不修改ProductList并添加一个List。这肯定不是一种好的编码方式。
这样做有更好的解决方案吗?说使用某些注释或什么?