通过实例学习JAVA对象转成XML输出
作者:Way Lau 时间:2023-01-14 15:25:35
一、总体说明 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
来源:https://waylau.com/jersey-restful-java-xml/
标签:java,对象,xml,输出
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Java8 CompletableFuture详解
2023-09-16 12:34:54
java 键盘输入一个数,输出数组中指定元素的示例
2023-11-24 20:31:14
JPA 加锁机制及@Version版本控制方式
2022-10-06 10:57:58
SpringMVC上传图片与访问
2023-12-06 17:54:31
SpringBoot自动装配原理详解
2023-07-26 08:44:46
![](https://img.aspxhome.com/file/2023/3/57803_0s.png)
JAVA像SQL一样对List对象集合进行排序
2023-11-01 12:36:24
![](https://img.aspxhome.com/file/2023/8/71258_0s.jpg)
C#知识整理
2021-08-02 18:24:26
Spring基于注解的缓存声明深入探究
2023-01-20 13:26:06
运行java的class文件方法详解
2021-07-29 03:53:48
详解Java中List的正确的删除方法
2021-09-19 13:20:42
IntelliJ IDEA中查看文件内所有已声明的方法(类似eclipse的outline)
2021-08-06 00:39:39
![](https://img.aspxhome.com/file/2023/7/62147_0s.png)
C#实现贪吃蛇小游戏
2022-09-28 17:17:59
![](https://img.aspxhome.com/file/2023/6/80116_0s.jpg)
Java自定义实现链队列详解
2023-06-22 12:47:31
![](https://img.aspxhome.com/file/2023/6/57426_0s.png)
Java 常见的限流算法详细分析并实现
2022-01-05 22:11:09
![](https://img.aspxhome.com/file/2023/3/71923_0s.png)
Java开发实现猜拳游戏
2023-09-27 03:21:46
Java 随机生成验证码(支持大小写字母、数字、随机字体)的实例
2023-11-25 00:35:38
Spring Boot加密配置文件特殊内容的示例代码详解
2023-09-18 08:47:24
![](https://img.aspxhome.com/file/2023/2/64022_0s.jpg)
java 优雅关闭线程池的方案
2022-03-20 23:05:44
SpringMVC解析JSON请求数据问题解析
2023-06-02 21:41:32
![](https://img.aspxhome.com/file/2023/8/60578_0s.png)
Spring Boot 集成 Sharding-JDBC + Mybatis-Plus 实现分库分表功能
2023-08-28 16:52:09
![](https://img.aspxhome.com/file/2023/7/58277_0s.jpg)