1、map-->xml
/**
* @将Dictionary转成xml
* @return 经转换得到的xml串
**/
public static String toXml(Map<String,Object> parm)
{
StringBuffer xml = new StringBuffer();
xml.append("<xml>");
if(parm != null){
for (Map.Entry<String, Object> entry : parm.entrySet()) {
if(entry != null ){
}
xml.append("<").append(entry.getKey()).append(">");
//isNotNullOrEmptyStr是判断不为空的方法
if(entry.getValue() instanceof String){
xml.append("<![CDATA[");
xml.append(entry.getValue());
xml.append("]]>");
}else{
xml.append(entry.getValue());
}
xml.append("</").append(entry.getKey()).append(">");
}
}
xml.append("</xml>");
String result ="";
if(xml != null){
try {
result = xml.toString();
//result = new String(xml.toString().getBytes("utf-8"),"ISO8859-1");
} catch (Exception e) {
e.printStackTrace();
}
}
return result;
}
2、xml-->map
/**
* xml转成map
* @return Map<String, String>
**/
public static Map<String, String> xmlToMap(String xml) {
try {
Map<String, String> data = new HashMap<>();
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
InputStream stream = new ByteArrayInputStream(xml.getBytes("UTF-8"));
org.w3c.dom.Document doc = documentBuilder.parse(stream);
doc.getDocumentElement().normalize();
NodeList nodeList = doc.getDocumentElement().getChildNodes();
for (int idx = 0; idx < nodeList.getLength(); ++idx) {
Node node = nodeList.item(idx);
if (node.getNodeType() == Node.ELEMENT_NODE) {
org.w3c.dom.Element element = (org.w3c.dom.Element) node;
data.put(element.getNodeName(), element.getTextContent());
}
}
stream.close();
return data;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}