1.首先在pom中导入
<dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream</artifactId> <version>1.4.10</version> </dependency>
2.创建工具类,写两个转换方法:
// xml转换为bean public static Object toBean(Class<?> clazz, String xml) { Object xmlObject = null; XStream xstream = new XStream(); xstream.processAnnotations(clazz); xstream.autodetectAnnotations(true); xmlObject= xstream.fromXML(xml); return xmlObject; } // bean转换为xml public static String toXml(Class<?> clazz, Object object) { String xml = ""; XStream xstream = new XStream(new DomDriver("UTF-8", new XmlFriendlyNameCoder("-_", "_"))); xstream.processAnnotations(clazz); xstream.autodetectAnnotations(true); xml= xstream.toXML(object); return xml; }
3.在java对象中添加注解:
,@xstreamAlias的内容就是对应你的xml的标签。值得注意的是如果的对象中包含集合或者数组属性,那么需要用到
@XStreamImplicit(itemFieldName="meter")这个注解。
好了,以上的内容大概就能满足你的解析基本才做了,有不明白的可留言给我。
追加:
1.如果对象转换为xml遇到有多条下划线的问题那么,可这样构造xStream:
XStream xstream = new XStream(new DomDriver("UTF-8", new XmlFriendlyNameCoder("-_", "_")));
2.@XStreamAsAttribute的作用是在转换为xml的时候,将字段设置为xml节点的属性,而不是节点。比如:
<user id = "123"></user>