用XStream进行xml转java对象的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用XStream进行xml转java对象的问题相关的知识,希望对你有一定的参考价值。
根据xml转换javabean的时候,同样的的节点名会返回不同类型的数据,比如成功返回:
<RETURN>
<RETURNMSG>
<MSG1>1</MSG1>
<MSG2>2</MSG2>
</RETURNMSG>
</RETURN>
如果失败返回
<RETURN>
<RETURNMSG>failed</RETURNMSG>
</RETURN>
成功返回一个List,失败返回一个String。怎样根据返回的报文进行xml到javabean的转换。
xStream.aliasType("LoginRsp", LoginRsp.class);
Object o = xStream.fromXML(ClassLoader.getSystemResourceAsStream("xxx.xml"));
System.out.println(o);本回答被提问者和网友采纳
用XStream 转换java对象成xml的一个疑问
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
public static void main(String[] args) SchemaAppearInfo schema = new SchemaAppearInfo(); List<QuaInsTask> taskNews = new ArrayList<QuaInsTask>(); QuaInsTask taskNew = new QuaInsTask(); taskNew.setTaskId("id1"); taskNew.setAlias("bieming1"); List<MaterialName> ms = new ArrayList<MaterialName>(); MaterialName m = new MaterialName(); m.setMaterialCode("code"); ms.add(m); taskNew.setMaterialNames(ms); taskNews.add(taskNew);
schema.setQuaInsTasks(taskNews); //转换成XML String xml = WsdXStreamUtils.marshal(schema);
}
我实际是想实现 <牌号名称 牌号代码="code"> xxxName <牌号名称>
盼等高手帮我解决这个问题
set方法就能解决的,是schema的方法或者
String xml = WsdXStreamUtils.marshal(schema);的时候加个参数之类的。
这个具体解决你看api吧。追问
我之前看过,api 和网上找的资料都是实现类似于
name
这样的实现,如果想以下这样
name
则充满了现实的尖锐的矛盾marshal参数有占位替换,也就是说用Xstream annotation无法实现了
改源码呗,没有反编译工具?
这个是导入的jar包吧。这个其实也应该就是个拼字符串的程序,自己改一下也行啊。
非常感谢,只是看到这个链接上面的示例,确实是可以,他对象标签建立和我是一样的
utf-8\
......
问题是比如怎么给parm赋值urf-8呢?也就是我怎么给materialNames赋值,这是个属性集合,里面元素是param 里面的name属性,这个帖子里面没写,你知道吗?
我没有试过xtream的,这里有个jaxb的解决办法,你看看...估计是类似的情况:
其实不用贴,就是一个实现方式,建两个类,分别就两三个属性,只要能出来这个效果就好
追答我用的dom4j来建的xml,没有问题。
以上是关于用XStream进行xml转java对象的问题的主要内容,如果未能解决你的问题,请参考以下文章