欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

通过实例学习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,输出单个对象

通过实例学习JAVA对象转成XML输出

在浏览器输入 http://localhost:8089/restdemo/rest/users 输出对象的集合

通过实例学习JAVA对象转成XML输出

本章源码:https://github.com/waylau/restdemo/tree/master/jersey-demo2-xml

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。