3Dflash 图表xml数据封装

package com.byd.core;

import java.io.IOException;   
import org.dom4j.Document;   
import org.dom4j.DocumentHelper;   
import org.dom4j.Element;   
/**  
 * 使用dom4j生成XML工具类  
 *   
 * @author Sarin  
 *   
 */  
public class XMLUtils {   
    private Document document = null;   
  
    public Document getDocument() {   
        return document;   
    }   
    /**  
     * 构造方法,初始化Document  
     */  
    public XMLUtils() {  
        document = DocumentHelper.createDocument();   
    }   
    /**  
     * 生成根节点  
     *   
     * @param rootName  
     * @return  
     */  
    public Element addRoot(String rootName) {   
        Element root = document.addElement(rootName);   
        return root;   
    }   
    /**  
     * 生成节点  
     *   
     * @param parentElement  
     * @param elementName  
     * @return  
     */  
    public Element addNode(Element parentElement, String elementName) {   
        Element node = parentElement.addElement(elementName);   
        return node;   
    }   
    /**  
     * 为节点增加一个属性  
     *   
     * @param thisElement  
     * @param attributeName  
     * @param attributeValue  
     */  
    public void addAttribute(Element thisElement, String attributeName,   
            String attributeValue) {   
        thisElement.addAttribute(attributeName, attributeValue);   
    }   
    /**  
     * 为节点增加多个属性  
     *   
     * @param thisElement  
     * @param attributeNames  
     * @param attributeValues  
     */  
    public void addAttributes(Element thisElement, String[] attributeNames, String[] attributeValues) {   
        for (int i = 0; i < attributeNames.length; i++) {   
            thisElement.addAttribute(attributeNames[i], attributeValues[i]);   
        }   
    }   
    /**  
     * 增加节点的值  
     *   
     * @param thisElement  
     * @param text  
     */  
    public void addText(Element thisElement, String text) {   
        thisElement.addText(text);   
    }   
    /**  
     * 获取最终的XML  
     *   
     * @return  
     * @throws IOException  
     */  
    public String getXML() {   
        return document.asXML().substring(39);   
    }   
}  


package com.byd.action;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.dom4j.Element;

import com.byd.core.BaseAction;
import com.byd.core.XMLUtils;
import com.byd.entity.Model;

@SuppressWarnings("serial")
public class ChartAction extends BaseAction{
	private String xmlStr;
	/**
	 * @return the xmlStr
	 */
	public String getXmlStr() {
		return xmlStr;
	}
	/**
	 * @param xmlStr the xmlStr to set
	 */
	public void setXmlStr(String xmlStr) {
		this.xmlStr = xmlStr;
	}
	public String dayChart() throws Exception{
		 XMLUtils xml = new XMLUtils();
		 Element chart = xml.addRoot("chart");  
		 xml.addAttribute(chart, "caption", "单日计划下达率");  
		 xml.addAttribute(chart, "basefontsize", "12");  
		 xml.addAttribute(chart, "xAxisName", "浏览器类型");
		 xml.addAttribute(chart, "yAxisName", "数量");
		 xml.addAttribute(chart, "formatNumberScale", "0");
		 xml.addAttribute(chart, "decimals", "0");// 小数精确度,0为精确到个位  
		 xml.addAttribute(chart, "showValues", "0");// 在报表上不显示数值  
		 List list = new ArrayList();
		 Model model = new Model();
		 Model model1 = new Model();
		 Model model2 = new Model();
		
		 list.add(model);
		 list.add(model1);
		 list.add(model2);
		 for (int i = 0; i < list.size(); i++) {  
		       Map item = (HashMap) list.get(i);  
		       Element set = xml.addNode(chart, "set");  
		       set.addAttribute("label", item.get("statVar").toString());  
		       set.addAttribute("value", item.get("statCount").toString());  
		       set.addAttribute("color", Integer.toHexString(  
		       (int) (Math.random() * 255 * 255 * 255)).toUpperCase());  
		 }  
		 xmlStr = xml.getXML(); 
		 System.out.println(xmlStr);
		 return SUCCESS;  
	}
}

 

posted @ 2011-06-16 10:29  上善¤若水  阅读(115)  评论(0编辑  收藏  举报