一、前言
做微信公众号平台开发的项目,将会用到将不同类型的对象转换为xml字符串,而后再做相应的处理,下面将对象转xml字符串的功能介绍如下。
二、引入jar包
下载jar链接:
https://download.csdn.net/download/qq_43026206/84232983
三、使用方法
1、创建对象

	public class BaseMessage {
	@XStreamAlias("ToUserName")  //解决标签体第一个字母大写的问题
	private String toUserName;
	
	@XStreamAlias("FromUserName") 
	private String fromUserName;
	
	@XStreamAlias("CreateTime") 
	private String createTime;
	
	@XStreamAlias("MsgType") 
	private String msgType;
	public String getToUserName() {
		return toUserName;
	}
	public void setToUserName(String toUserName) {
		this.toUserName = toUserName;
	}
	public String getFromUserName() {
		return fromUserName;
	}
	public void setFromUserName(String fromUserName) {
		this.fromUserName = fromUserName;
	}
	public String getCreateTime() {
		return createTime;
	}
	public void setCreateTime(String createTime) {
		this.createTime = createTime;
	}
	public String getMsgType() {
		return msgType;
	}
	public void setMsgType(String msgType) {
		this.msgType = msgType;
	}
	
	public BaseMessage(Map<String, String> requestMap) {
		this.toUserName = requestMap.get("FromUserName");
		this.fromUserName = requestMap.get("ToUserName");
		this.createTime = System.currentTimeMillis()/1000 + "";
	}
}

创建子类:

@XStreamAlias("xml")  //解决由实体转为xml时root根目录 <xml>问题
public class TextMessage extends BaseMessage{
	public TextMessage(Map<String, String> requestMap,String content) {
		super(requestMap);
		this.setMsgType("text");
		this.content = content;
	}
	
@XStreamAlias("Content") 
private String content;
public String getContent() {
	return content;
}
public void setContent(String content) {
	this.content = content;
}
@Override
public String toString() {
	return "TextMessage [content=" + content + ",  toUserName()=" + getToUserName() + ", "
			+ "fromUserName()=" 	+ getFromUserName() + ", msgType()=" + getMsgType() + "]";
}

}

测试文件

@Test
public void testMsg(){
	Map<String, String> map = new HashMap<String, String>();
	map.put("ToUserName","to");
	map.put("FromUserName","from");
	map.put("MsgType","type");
	TextMessage textMsg = new TextMessage(map,"Nice to meet you");
	XStream stream = new XStream();
	//注解使用
	stream.processAnnotations(TextMessage.class);
	String xml = stream.toXML(textMsg);
	System.out.println(xml);
}
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐