import com.thoughtworks.xstream.XStream;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
/**
* XML工具类
*/
public class XmlUtil {
private static XStream xStream = new XStream();
/**
* 解析xml
* @param xml xml字符串
* @param elementName 要解析的父标签
* @param cls 目标类型
* @return 解析结果
*/
public static <T> T xmlToBean(String xml, String elementName, Class<T> cls) {
T object = null;
try {
Document document = DocumentHelper.parseText(xml);
//如果不是SOAP返回的报文,是XML字符串则不需要这行代码
String beanXml = document.getRootElement().element("Body").element(
elementName).asXML();
xStream.alias(elementName, cls);
object = (T) xStream.fromXML(beanXml);
} catch (Exception e) {
e.printStackTrace();
}
return object;
}
/**
* 转换XML
* 对象添加 @XStreamAlias("标签名称")
* 集合添加 @XStreamImplicit(itemFieldName="标签名称")
* 否则会出现解析的xml中标签带类全称现象
* @param object 要转换的对象
* @return 结果字符串
*/
public static String beanToXml(Object object) {
xStream.processAnnotations(object.getClass()); // 应用注解
xStream.autodetectAnnotations(true); //自动检测注解
return xStream.toXML(object);
}
}
xml和Bean相互转换
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
下一篇:推荐系统的十个关键点
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Java xml格式传参 java xml转bean
2.1、XML回顾在学习这部分内容前,假设你对XML以及有一定的了解,至少能够分辨出XML的元素、属性、字段、包、系统属性、类型等等。例如有下边的一段XML:
Java xml格式传参 xml&json XML xml 字段