public static String mapToXml(Map map) {
StringBuilder xml = new StringBuilder();
xml.append("<data>");
if (map != null) {
Set entrySet = map.entrySet();
for (Iterator iterator = entrySet.iterator(); iterator.hasNext();) {
Entry entry = (Entry) iterator.next();
addXmlText(entry.getKey(), entry.getValue(), xml);
}
}
xml.append("</data>");
return xml.toString();
}
private static void addXmlText(Object key, Object value, StringBuilder paramXml) {
if (value instanceof List) {
List list = (List) value;
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
Object o = iterator.next();
if (o instanceof Map)
addXmlText(key, o, paramXml);
else
paramXml.append("<").append(key.toString().toLowerCase()).append(">")
.append("<![CDATA[").append(o).append("]]>")
.append("</").append(key.toString().toLowerCase()).append(">\n");
}
} else if (value instanceof Map) {
Set s = ((Map) value).entrySet();
paramXml.append("<").append(key.toString().toLowerCase()).append(">");
for (Iterator irt = s.iterator(); irt.hasNext();) {
Entry e = (Entry) irt.next();
addXmlText(e.getKey(), e.getValue(), paramXml);
}
paramXml.append("</").append(key.toString().toLowerCase()).append(">\n");
} else {
if (value != null)
paramXml.append("<").append(key.toString().toLowerCase()).append(">")
.append("<![CDATA[").append(value).append("]]>")
.append("</").append(key.toString().toLowerCase()).append(">\n");
}
}
将map转成<cdata>xml
最新推荐文章于 2024-05-14 17:00:55 发布