通过实例学习JAVA对象转成XML输出
程序员文章站
2024-02-16 16:05:46
一、总体说明 xml和json 是最为常用的数据交换格式
本例子演示如何将java对象,转成xml输出。
二、流程
1.在上文的例子中,创建一个包“com.wayla...
一、总体说明 xml和json 是最为常用的数据交换格式
本例子演示如何将java对象,转成xml输出。
二、流程
1.在上文的例子中,创建一个包“com.waylau.rest.bean”
2.在该包下创建一个java类”user”
package com.waylau.rest.bean; import javax.xml.bind.annotation.xmlrootelement; /* * * 用户 bean * @author waylau.com * 2014-3-17 */ @xmlrootelement public class user { private string userid; private string username; private string age; public user() {}; public user(string userid, string username, string age) { this.userid = userid; this.username = username; this.age = age; } public string getuserid() { return userid; } public void setuserid(string userid) { this.userid = userid; } public string getusername() { return username; } public void setusername(string username) { this.username = username; } public string getage() { return age; } public void setage(string age) { this.age = age; } }
注意:该类上面增加了一个注解“@xmlrootelement”,在将该类转化成xml时,说明这个是xml的根节点。
3.在“com.waylau.rest.resources”中,增加资源“userresource“,代码如下:
package com.waylau.rest.resources; import java.util.arraylist; import java.util.hashmap; import java.util.list; import java.util.map; import javax.ws.rs.path; import javax.ws.rs.produces; import javax.ws.rs.pathparam; import javax.ws.rs.core.mediatype; import javax.ws.rs.delete; import javax.ws.rs.get; import javax.ws.rs.post; import javax.ws.rs.put; import com.waylau.rest.bean.user; @path("/users") public class userresource { private static map<string,user> usermap = new hashmap<string,user>();//存储用户 /** * 查询所有 * @return */ @get @produces(mediatype.application_xml) public list<user> getallusers(){ list<user> users = new arraylist<user>(); user u1 = new user("001","waylau","26"); user u2 = new user("002","king","23"); user u3 = new user("003","susan","21"); usermap.put(u1.getuserid(), u1); usermap.put(u2.getuserid(), u2); usermap.put(u3.getuserid(), u3); users.addall( usermap.values() ); return users; } @get @path("/getuserxml") @produces(mediatype.application_xml) public user getuserxml() { user user = new user(); user.setage("21"); user.setuserid("004"); user.setusername("amand"); return user; } }
其中mediatype.application_xml 说明了是以xml形式输出
在浏览器输入http://localhost:8089/restdemo/rest/users/getuserxml,输出单个对象
在浏览器输入 http://localhost:8089/restdemo/rest/users 输出对象的集合
本章源码:https://github.com/waylau/restdemo/tree/master/jersey-demo2-xml
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。