一些旧的 XML 仍然具有规范的类名。新的 XML 具有简单的名称。
我希望能够读取这两种格式,但请确保在编码时获得简单的名称。我尝试过使用...
xstream.alias("package.name.className", Clazz.class);
xstream.alias("className", Clazz.class);
解码工作正常,但编码是混合的。对于某些类,我得到简单的名称,其他类则得到规范的名称。
知道如何使用相同的 xstream 实例实现此目的吗?
最佳答案
最好的方法是为您的类(class)编写一个自定义转换器。
另一种方法是使用一个 xstream 实例使用别名进行解码,使用另一个 xstream 实例仅使用您想要的别名进行编码。
关于java - XStream - marshal/unmarshal 的不同别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20382380/