Java 来自不同参数的xstream别名
我试图解决将列表从xml映射到Java对象的高级问题 我可以给问题起个名字: 该链接显示了一个我无法很好地进行反向工程的问题:相同的元素标记具有不同的内容,但相同的属性具有不同的值 将对象序列化为XML效果很好,但无法将结果XML转换回对象 我对我的各个类进行了映射: ``` ```Java 来自不同参数的xstream别名,java,xml,xstream,Java,Xml,Xstream,我试图解决将列表从xml映射到Java对象的高级问题 我可以给问题起个名字: 该链接显示了一个我无法很好地进行反向工程的问题:相同的元素标记具有不同的内容,但相同的属性具有不同的值 将对象序列化为XML效果很好,但无法将结果XML转换回对象 我对我的各个类进行了映射: ``` ``` 你知道如何根据name=属性的内容进行映射吗?我昨晚没能发布解决方案,我现在就这样做了 第一:发布所有这些类将远远超过发布限制。博士 第二:问题是,我的数据布局错误 解决方案:我必须使用自定义转换器。“本机”无法转
你知道如何根据
name=
属性的内容进行映射吗?我昨晚没能发布解决方案,我现在就这样做了
第一:发布所有这些类将远远超过发布限制。博士
第二:问题是,我的数据布局错误
解决方案:我必须使用自定义转换器。“本机”无法转换该模式。您好,请发布更多的代码,以便我们这些试图阅读它的人可以使用它。尤其是您的数据模型类(或至少是它们的基本部分,如字段、包名等)将非常有用,这样我们就不必尝试从XML和XStream调用中反转代码。
XStream xStream = new XStream( );
// Aliases
xStream.alias("eveapi", CallList.class);
xStream.aliasAttribute(CallList.class, "version", "version");
xStream.alias("row", RowCallGroups.class);
xStream.aliasField("rowset", Result.class, "callGroups");
xStream.aliasAttribute(RowCallGroups.class, "groupID", "groupID");
xStream.aliasAttribute(RowCallGroups.class, "name", "name");
xStream.aliasAttribute(RowCallGroups.class, "description", "description");
xStream.addImplicitCollection(RowSetCallGroups.class, "callGroups");
xStream.alias("rowset", RowSetCallGroups.class);
xStream.aliasAttribute(RowSetCallGroups.class, "name", "name");
xStream.aliasAttribute(RowSetCallGroups.class, "key", "key");
xStream.aliasAttribute(RowSetCallGroups.class, "columns", "columns");
xStream.alias("row", RowCalls.class);
xStream.aliasField("rowset", Result.class, "calls");
xStream.aliasAttribute(RowCalls.class, "accessMask", "accessMask");
xStream.aliasAttribute(RowCalls.class, "type", "type");
xStream.aliasAttribute(RowCalls.class, "name", "name");
xStream.aliasAttribute(RowCalls.class, "groupID", "groupID");
xStream.aliasAttribute(RowCalls.class, "description", "description");
xStream.addImplicitCollection(RowSetCalls.class, "calls");
xStream.alias("rowset", RowSetCalls.class);
xStream.aliasAttribute(RowSetCalls.class, "name", "name");
xStream.aliasAttribute(RowSetCalls.class, "key", "key");
xStream.aliasAttribute(RowSetCalls.class, "columns", "columns");