JAXB生成XML不需要加@XmlRootElement注解的方法
在解决平台里一个万能动态webserivce客户端时,中间涉及到将一个java对象转成XML的过程,其中网上很多资料说使用JAXB将java转成XML必须要在java对象上加@XmlRootElement注解,这个让开发者添加个注解的确不费劲,但是总是不甘心,凭什么没有这个注解就不行?这个问题要解决的关键突破点就是搞明白@XmlRootElement注解的作用到底是什么就行了,但是我这边时间紧迫,而且网上很多资料对这个说的也是是是而非,因此打算放到以后再去研究。可是当前问题如何解决呢?最后查了老外的一些文档,找了个新办法,这里先记下来。 1、java对象如下,注意没有加那个@XmlRootElement注解 package serivce;
2、测试代码如下: Person user = new Person(); 3、转换结果如下: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ns2:Person xmlns:ns2="http://ws.test.com"> <id>123</id> <name>zc</name> <sex>女</sex> </ns2:Person> 这个本身技术含量不大,但是由于国人对webservice等的使用只停留在基本API的层次上,而对底层的实现原理和细节关注甚少,所以网上关于webserivce稍微深入点的资料少之又少,更多的是Demo级别的资料,我之前找了很久也没有找到,要深入了解webserivce,其中的JAXB和SOAP协议是避不开的,我们使用的webservice的API也是封装了这些细节而已。这里写下来给网友分享下,希望能解决下大家的问题。 附JAXB学习网站,虽然是英文的,但是觉得很好用:点击打开链接 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |