用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 <牌号名称>
盼等高手帮我解决这个问题

第1个回答  2019-10-30

第2个回答  2013-08-02
这个没用过,但是根据经验,应该是一个
set方法就能解决的,是schema的方法或者
String xml = WsdXStreamUtils.marshal(schema);的时候加个参数之类的。
这个具体解决你看api吧。追问

我之前看过,api 和网上找的资料都是实现类似于

name

这样的实现,如果想以下这样
name
则充满了现实的尖锐的矛盾marshal参数有占位替换,也就是说用Xstream annotation无法实现了

追答

改源码呗,没有反编译工具?
这个是导入的jar包吧。这个其实也应该就是个拼字符串的程序,自己改一下也行啊。

本回答被网友采纳
第3个回答  2013-08-02
我用jaxb实现过这个,但是xtream没有试过,给你一个例子 http://www.oschina.net/code/snippet_557540_18576追问

非常感谢,只是看到这个链接上面的示例,确实是可以,他对象标签建立和我是一样的

utf-8\
......

问题是比如怎么给parm赋值urf-8呢?也就是我怎么给materialNames赋值,这是个属性集合,里面元素是param 里面的name属性,这个帖子里面没写,你知道吗?

追答

我没有试过xtream的,这里有个jaxb的解决办法,你看看...估计是类似的情况:

本回答被提问者采纳
第4个回答  2013-08-02
贴出完整代码,我调试看下追问

其实不用贴,就是一个实现方式,建两个类,分别就两三个属性,只要能出来这个效果就好

追答

我用的dom4j来建的xml,没有问题。

相似回答