1、字符串拼接法
- String msg = "";
- msg="<?xml version=1.0 encoding=GBK?>";
- msg+="<graph caption='人物年龄列表' xAxisName='人名' yAxisName='年龄' " +"showNames='1' decimalPrecision='0' formatNumberScale='0' baseFont='宋体' baseFontSize='14' unescapeLinks='0'>";
- msg+="<set name='小明' value='21' color='"+getRandomColor()+"' link='JavaScript:showName('小明')' />";
- msg+="<set name='小强' value='25' color='"+getRandomColor()+"' link='JavaScript:showName('小强')' />";
- msg+="<set name='大力丸' value='47' color='"+getRandomColor()+"' link='JavaScript:showName('大力丸')' />";
- msg+="<set name='主义者' value='85' color='"+getRandomColor()+"' link='JavaScript:showName('主义者')'/>";
- msg+="<set name='追梦' value='37' color='"+getRandomColor()+"' link='JavaScript:showName('追梦')' />";
- msg+="</graph>";
2、dom4j
用到的类
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
- public String getXMLString(List list){
- String xmlstr="";
- Document document = DocumentHelper.createDocument();
- Element graph = document.addElement("graph");
- graph.addAttribute("caption", "人物年龄列表");
- graph.addAttribute("xAxisName", "人名");
- graph.addAttribute("yAxisName", "年龄");
- graph.addAttribute("showNames", "1");
- graph.addAttribute("desimalPrecision", "0");
- graph.addAttribute("formatNumberScale", "0");
- graph.addAttribute("baseFont", "宋体");
- graph.addAttribute("baseFontSize", "14");
- graph.addAttribute("unescapeLinks", "0");
- for(int i=0;i<list.size();i++){
- Element set = graph.addElement("set"); //生成子节点
- Person p = list.get(i);
- set.addAttribute("name", p.getname());
- set.addAttribute("value", p.getage());
- set.addAttribute("color", getRandomColor());
- set.addAttribute("link", "JavaScript:showName('"+p.getname()+"')");
- }
- xmlstr = generateXML(document);
- return xmlstr;
- }
- /**
- * 通过dom生成xml文件
- */
- public String generateXML(Document document) {
- String xmlDoc = "";
- StringWriter sw = new StringWriter();
- XMLWriter writer;
- OutputFormat format = OutputFormat.createPrettyPrint();
- format.setEncoding("GBK");
- writer = new XMLWriter(sw, format);
- try {
- writer.write(document);
- xmlDoc = sw.toString();
- URLEncoder.encode(xmlDoc, "utf-8");
- } catch (IOException e) {
- System.out.println("生成XML字符串发生异常");
- e.printStackTrace();
- } finally {
- try {
- writer.close();
- sw.close();
- } catch (IOException e) {
- System.out.println("关闭XML读写发生异常");
- e.printStackTrace();
- }
- }
- return xmlDoc;
- }
- /**
- * 随即获得颜色代码
- */
- public String getRandomColor(){
- //颜色代码位数6
- int colorLength=6;
- //颜色代码组数
- char[] codeSequence={'A','B','C','D','E','F', '0','1','2','3','4','5','6','7','8','9'};
- StringBuffer str=new StringBuffer();
- Random random=new Random();
- for(int i=0;i<colorLength;i++){
- str.append(codeSequence[random.nextInt(16)]);
- }
- return str.toString();
- }