首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有办法对两个不同的类使用相同的别名,以便在xstream中设置为别名

有没有办法对两个不同的类使用相同的别名,以便在xstream中设置为别名
EN

Stack Overflow用户
提问于 2015-07-28 15:56:07
回答 1查看 631关注 1票数 1

我是'StackExchange‘的新手,所以如果我的问题之前问过或者不是特别清楚,请原谅。

我使用XStream类将响应XML解析为JAVA object (使用fromXML()方法)。我已经创建了一个实用类(比如XStreamUtil -一个单例类),并使用类似于"XSTREAM.alias("NewDataSet",Transactional.class);“的语句在其中配置了不同的模型类。

现在的问题是-我从具有相同父节点的第三方(例如)获取XML。作为对不同API的响应。所以,如果我使用下面这样的代码-

XSTREAM.alias("NewDataSet",Transactional.class);

XSTREAM.alias("NewDataSet",Open.class);

XSTREAM.alias("NewDataSet",Details.class);

{ XStream无法解析前两个类(事务类和开放类)的响应,并尝试通过'Details.class‘解析它(配置的最后一个)。这抛出了异常,如下-

代码语言:javascript
运行
复制
brilliance.model.report.notify.Details.Transactional
---- Debugging information ----
field               : Transactional
class               : com.brilliance.model.report.notify.Details
required-type       : com.brilliance.model.report.notify.Details
converter-type      :      com.thoughtworks.xstream.converters.reflection.ReflectionConverter
path                : /NewDataSet/Transactional
version             : 1.4.7

    com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$Un    knownFieldException: No such field     com.brilliance.model.report.notify.Details.Transactional
---- Debugging information ----
field               : Transactional
class               : com.brilliance.model.report.notify.Details
required-type       : com.brilliance.model.report.notify.Details
converter-type      :     com.thoughtworks.xstream.converters.reflection.ReflectionConverter
path                : /NewDataSet/Transactional
version             : 1.4.7

at     com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.handleUnknownField(AbstractReflectionConverter.java:495)
at     com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.do    Unmarshal(AbstractReflectionConverter.java:351)

。。。。。。

我这里的问题是-我们有没有办法通过XStream为两个不同的java类定义相同的别名?

EN

回答 1

Stack Overflow用户

发布于 2015-08-29 00:41:19

我也有类似的问题。已通过为每个类创建新的xstream实例并处理注释解决此问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31670475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档