添加maven依赖
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
工具类
import java.io.ByteArrayInputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.xml.sax.InputSource;
public class XMLUtil {
/**
* 转XMLmap
* @author
* @param xmlBytes
* @param charset
* @return
* @throws Exception
*/
public static Map<String, String> toMap(String xmlString){
byte[] xmlBytes = xmlString.getBytes();
String charset = "UTF-8";
SAXReader reader = new SAXReader(false);
InputSource source = new InputSource(new ByteArrayInputStream(xmlBytes));
source.setEncoding(charset);
Document doc = null;
Map<String, String> params = null;
try {
doc = reader.read(source);
params = XMLUtil.toMap(doc.getRootElement());
} catch (DocumentException e) {
}
return params;
}
private static Map<String, String> toMap(Element element){
Map<String, String> rest = new HashMap<String, String>();
List<Element> els = element.elements();
for(Element el : els){
rest.put(el.getName().toLowerCase(), el.getTextTrim());
}
return rest;
}
/**
* map转XML
* @author
* @param params
* @param charset
* @return
* @throws Exception
*/
public static String toXml(Map<String, String> params){
StringBuilder buf = new StringBuilder();
List<String> keys = new ArrayList<String>(params.keySet());
Collections.sort(keys);
buf.append("<xml>");
for(String key : keys){
buf.append("<").append(key).append(">");
buf.append("<![CDATA[").append(params.get(key)).append("]]>");
buf.append("</").append(key).append(">\n");
}
buf.append("</xml>");
return buf.toString();
}
}