生成xml

package com.ibeifeng.util;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions;

import com.ibeifeng.po.Employee;
/**
 *  ce
 * @author Administrator
 *
 */

public class TestWriteXml {

    static class ReportVO {

        public ReportVO(int id, String name) {

            this.name = name;
            this.id = id;
        }

        private List<ReportVO> child = new ArrayList<ReportVO>();

        private String name;
        private Integer id;

        public List<ReportVO> getChild() {
            return child;
        }

        public void setChild(List<ReportVO> child) {
            this.child = child;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public Integer getId() {
            return id;
        }

        public void setId(Integer id) {
            this.id = id;
        }

    }

    public static void main(String[] args) throws IOException {

        FileOutputStream out = new FileOutputStream("d:\\test.xml");// response.getWriter();

        Document document = DocumentHelper.createDocument();
        Element rootElement = document.addElement("records");
        List<ReportVO> child = new ArrayList<ReportVO>();

        for (int i = 0; i < 10; i++) {
            ReportVO v = new ReportVO(i, "ceshisd撒地方撒地方是的 " + i);
            child.add(v);
        }
        for (ReportVO vo : child) {
            if (vo != null) {
                Element e2 = rootElement.addElement("record");
                e2.addAttribute("personCode", "132");

                e2.addAttribute("personName", vo.getName() == null ? "" : vo
                        .getName());

                e2.addText("測試text");

                // for (Object vo : voList) {
                Element e3 = e2.addElement("category1");
                e3.addAttribute("name", "vo.getName()");
                // for(Object vo2:vo.getChilds()){
                // Element e2=e1.addElement("category2");
                // Element nameElement=e2.addElement("name");
                // nameElement.addText(vo2.getName());
                //           
                // Element scoreElement=e2.addElement("score");
                // scoreElement.addText(vo2.getMark());
                // }

                // }

                // e2.addAttribute("day", vo.getDay() == null ? "" :
                // vo.getDay());
                // e2.addAttribute("task", vo.getTask() == null ? "" : vo
                // .getTask());
                // e2.addAttribute("orgName", vo.getOrgName() == null ? "" : vo
                // .getOrgName());

                // if (vo != null) {
                // e2.addAttribute("job", vo.getJob() == null ? "" : vo
                // .getJob());
                //
                // } else {
                // e2.addAttribute("job", "");
                // }
            } else {
                System.out.println("null:");
            }

        }

        // for (Object vo : voList) {
        // Element e1 = rootElement.addElement("category1");
        // e1.addAttribute("name", "vo.getName()");
        // for(Object vo2:vo.getChilds()){
        // Element e2=e1.addElement("category2");
        // Element nameElement=e2.addElement("name");
        // nameElement.addText(vo2.getName());
        //           
        // Element scoreElement=e2.addElement("score");
        // scoreElement.addText(vo2.getMark());
        // }

        // }

        // 設置返回文本的類型
        // response.setContentType("text/xml ; charset=utf-8");
        /*
         * 這裏一定要設定ContentType,不然客戶端無法辨識服務端的發送的信息類型。
         */
        // response.setHeader("Cache-Control", "no-cache");
        /*
         * 設定不需要緩存
         */
        // 創建排版規則
        OutputFormat format = OutputFormat.createPrettyPrint();
        format.setEncoding("UTF-8");// 設置xml文檔的編碼格式
        // 開始寫入數據信息
        XMLWriter writer = new XMLWriter(out, format);

        // 通過XmlWriter的構造函數,將Xml文檔對象寫入到PrintWriter中,實現返回
        writer.write(document);

        // 清空流
        out.flush();
        // 關閉流
        out.close();
    }
}

發佈了36 篇原創文章 · 獲贊 9 · 訪問量 26萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章