# STUDY/JAVA

DB 조회값 XML 생성

슬금이 2011. 7. 4. 23:45


원본글 링크 : http://gadise.egloos.com/1869919

임시로 테이블 만든 것으로 맞게 수정하여 작성
XML 파일은 Element, Attribute 생성 테스트로 함
XML 생성에 포커스를 맞춰 원본 링크 글의 소스를 최대한 간략 수정하여 테스트 해 봄

-- dom4j.jar 파일이 필요, 검색은 하면 바로 나오므로 생략
-- 자바 beans 파일 작성은 본인 테이블에 맞춰 작성
-- XML 기본출력 잘 됨



package xml;
import java.io.FileWriter; 
import java.io.IOException;

import java.util.ArrayList;

import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import org.dom4j.Document; 
import org.dom4j.DocumentHelper;
import org.dom4j.Element; 
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter; 

import bean.xmlBean;

public class CreateXMLDemo {
    private xmlBean vo = new xmlBean();
    private static String jdbcDriver = "oracle.jdbc.driver.OracleDriver";
    private static String jdbcUrl = "jdbc:oracle:thin:@localhost:1521:ORCL";
    private static String userName = "아이디";
    private static String userPwd = "패스워드";     

   
    private static Document createDocument() throws Exception {
        Document document = DocumentHelper.createDocument();
        Element root = document.addElement("system");


        ArrayList<xmlBean> list = getResultList();
       
        for(int i = 0; i < list.size(); i++)
        {
            Element superNod = root.addElement("ResultSet");
            superNod.addAttribute("lang", "kor");
            xmlBean vo = list.get(i);
           
            Element element = superNod.addElement("id");
            element.addAttribute("contry-ZIP", "USA");
            element.addText(vo.getPersonal_id());
           
           
            element = superNod.addElement("password");
            element.addText(vo.getPersonal_pw());
           
            element = superNod.addElement("name");
            element.addText(vo.getPersonal_name());
           
            element = superNod.addElement("job");
            element.addText(vo.getPersonal_job());
        }       
        return document;
    }
   
    public static ArrayList<xmlBean> getResultList()
    {
        ArrayList<xmlBean> list = new ArrayList<xmlBean>();

        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "SELECT personal_id, personal_pw, personal_name, personal_job FROM t_table";
        try {
            Driver driver = (Driver)Class.forName(jdbcDriver).newInstance();
            conn = DriverManager.getConnection(jdbcUrl, userName, userPwd);
            ps = conn.prepareStatement(sql);
            rs = ps.executeQuery();
           
            while(rs.next())
            {
             xmlBean vo = new xmlBean();
                vo.setPersonal_id(rs.getString("personal_id"));
                vo.setPersonal_pw(rs.getString("personal_pw"));
                vo.setPersonal_name(rs.getString("personal_name"));
                vo.setPersonal_job(rs.getString("personal_job"));
                list.add(vo);
            }
           
        } catch (Exception sqle) {
            sqle.printStackTrace();
        }

        return list;
    }
   
    public static void main(String[] args) {
        Document document;
        try {
            document = createDocument();
            OutputFormat format = new OutputFormat("\t", true);
           
            FileWriter out = new FileWriter("d://sample.xml"); // 저장 원하는 위치
            XMLWriter writer = new XMLWriter(out, format);
            writer.write(document);
            out.close();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

'# STUDY > JAVA' 카테고리의 다른 글

[ JAVA ] FileReader Example  (0) 2012.02.28
[ JAVA ] ArrayList Example  (0) 2012.02.28
[ JAVA ] HashMap Example  (0) 2012.02.28
DB Connection (JDBC)  (0) 2012.02.24
JAVA/JSP 환경설정  (0) 2011.02.08