生成XML

生成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>

版权声明:本文为qq_22778717原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。