生成xml 首先要把你要的数据压入一个map里面 然后写一个生成XML的函数
需要注意的是HashMap、TreeMap、LinkedHashMap的使用方法,还有生成xml时的CDATA标签用法
import java.io.*;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
import java.util.Set;
class test
{
public static void main (String[] args)
{
String d1 = "date11111";
String d2 = "date22222";
String d3 = "date33333";
String d4 = "date44444";
String d5 = "date55555";
/*一般情况下,使用频率:HashMap>TreeMap>LinkedHashMap
HashMap里面存入的键值对在取出的时候是随机的,它根据键的HashCode值存取数据,在Map 中插入、删除和定位元素,HashMap会更好。
TreeMap取出来的是排序后的键值对。要按自然顺序或自定义顺序遍历键,TreeMap会更好。
LinkedHashMap 是HashMap的一个子类,需要输出的顺序和输入的相同,LinkedHashMap会更好。
*/
Map<Object, String> map = new TreeMap<Object, String>();
map.put("date1",d1);
map.put("date2",d2);
map.put("date3",d3);
map.put("date4",d4);
map.put("date5",d5);
System.out.println(makeXml(map));
}
public static String makeXml(Map<Object, String> parameters) {
StringBuffer sb = new StringBuffer();
sb.append("<xml>");
Set es = parameters.entrySet();
Iterator it = es.iterator();
while (it.hasNext()) {
Map.Entry entry = (Map.Entry) it.next();
String k = (String) entry.getKey();
String v = (String) entry.getValue();
/*在标记CDATA下,所有的标记、实体引用都被忽略,而被XML处理程序一视同仁地当做字符数据看
sb.append("<" + k + ">" + "<![CDATA[" + v + "]]></" + k + ">");
*/
sb.append("<" + k + ">" + v + "</" + k + ">");
}
sb.append("</xml>");
return String.valueOf(sb);
}
}
运行结果:
<xml><date1>date11111</date1><date2>date22222</date2><date3>date33333</date3><date4>date44444</date4><date5>date55555</date5></xml>