XStream可以用于Java object和xml的转化,也可以用于Java object和json的转化
1 定义一个bean去匹配xml内容。不用注入bean, 暴露一个静态方法,传入一个xml字符串,就可以转化成对应的java类。
@XStreamAlias("xml") //注解修饰类,表示设定xml中根节点的名字,否则会使用类名作为根节点 public class WxMpXmlMessage implements Serializable { @XStreamAlias("ToUserName") //该变量在xml中的节点名字 @XStreamConverter(value = XStreamCDataConverter.class) //在节点的值用cdata包住 private String toUser; @XStreamAlias("CreateTime") private Long createTime; //暴露一个静态方法,传入一个xml字符串,就可以转化成对应的java类 public static WxMpXmlMessage fromXml(String xml) { // 修改微信变态的消息内容格式,方便解析 xml = xml.replace("</PicList><PicList>", ""); final WxMpXmlMessage xmlMessage = XStreamTransformer.fromXml(WxMpXmlMessage.class, xml); xmlMessage.setAllFieldsMap(XmlUtils.xml2Map(xml)); return xmlMessage; }参考资料:
https://www.cnblogs.com/LiZhiW/p/4313493.html#_label4