Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

붓, 그리다

오라클 DB상에 있는 데이터 XML 문서로 만들기 2 본문

Google Map

오라클 DB상에 있는 데이터 XML 문서로 만들기 2

붓그린 2017. 8. 29. 10:53

오라클 DB상에 있는 데이터 XML 문서로 만들기 2

- xml 속성에 데이터 넣기


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package db;
 
import java.io.*;
import java.util.*;
import java.sql.*;
import org.dom4j.*;
import org.dom4j.io.*;
 
import db.*;
 
 
public class CreateXMLDemo2 {
    
    //private DBConnectionMgr pool;
    private MakerDTO maker = new MakerDTO();
    private static String jdbcDriver = "oracle.jdbc.driver.OracleDriver";
    private static String jdbcUrl = "jdbc:oracle:thin:@localhost:1521:ORCL";
    private static String userName = "admin";
    private static String userPwd = "1234"
 
 
/*    // 생성자 : DB 연결
    public CreateXMLDemo() {
        try {
            pool = DBConnectionMgr.getInstance();
            System.out.println("pool > " + pool);
        } catch (Exception e) {
            System.out.println("DB 연결 실패 > " + e);
        }
    } // 생성자
*/
    
    private static Document createDocument() {
        
        Document document = DocumentHelper.createDocument();
        Element root = document.addElement("markers");
        
        //MakerDAO dao = new MakerDAO();
        ArrayList<MakerDTO> makerList = getMakerList();
        
        try {
            for(int i=0; i<makerList.size(); i++) {
                Element superNod = root.addElement("marker");
                MakerDTO maker = makerList.get(i);
                
                superNod.addAttribute("no", Integer.toString(maker.getNo()));
                
                superNod.addAttribute("name", maker.getName());
                
                superNod.addAttribute("lat", Double.toString(maker.getLat()));
                
                superNod.addAttribute("lng", Double.toString(maker.getLng()));
                
                superNod.addAttribute("addr", maker.getAddr());
                
                superNod.addAttribute("loctype", maker.getLoctype());                
                
            } // for            
            
            System.out.println("출력 완료");
            
        }catch(Exception e) {
            System.out.println("createDocument()메서드 에러유발" + e);
        }
        
        return document;
        
    }
    
    
    // 전체 레코드를 가져오는 메서드 호출
    public static ArrayList<MakerDTO> getMakerList() {
        ArrayList<MakerDTO> makerList = new ArrayList<MakerDTO>();
        
        Connection con = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;        
 
        try {
            
            Driver driver = (Driver)Class.forName(jdbcDriver).newInstance();
            con = DriverManager.getConnection(jdbcUrl, userName, userPwd);
            String sql = "select * from marker";
            pstmt = con.prepareStatement(sql);
            rs = pstmt.executeQuery();
 
            while (rs.next()) {
                MakerDTO maker = new MakerDTO();
                maker.setNo(rs.getInt("locnum"));
                maker.setName(rs.getString("locname"));
                maker.setLat(rs.getDouble("lat"));
                maker.setLng(rs.getDouble("lng"));
                maker.setAddr(rs.getString("addr"));
                maker.setLoctype(rs.getString("loctype"));
                
                makerList.add(maker);
 
            }
        } catch (Exception e) {
            System.out.println("getMakerList()메서드 에러유발" + e);
        } 
        return makerList;
    }
 
    
    public static void main(String[] args) {
        Document document;
        try {
            document = createDocument();
            
            OutputFormat format = new OutputFormat("\t"true);
            Writer out = new OutputStreamWriter(new FileOutputStream("D:/3.jsp/FinalProject/WebContent/xml/output.xml"), "UTF-8");
            //FileWriter out = new FileWriter("D:/3.jsp/FinalProject/WebContent/xml/output.xml"); // 저장 원하는 위치
            XMLWriter writer = new XMLWriter(outformat);
            writer.write(document);
            out.close();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
    
    
}
 
cs



output.xml

1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="UTF-8"?>
 
<markers>
    <marker no="3" name="서귀포 올레시장" lat="33.250467" lng="126.563636" addr="제주특별자치도 서귀포시 중앙로62번길 18" loctype="A07"/>
    <marker no="1" name="노리매 공원" lat="33.282656" lng="126.287517" addr="제주특별자치도 서귀포시 대정읍 중산간서로 2260-15" loctype="A01"/>
    <marker no="2" name="오설록 티뮤지엄" lat="33.30609" lng="126.289434" addr="제주특별자치도 서귀포시 안덕면 신화역사로 15 오설록" loctype="A02"/>
    <marker no="4" name="소심한 책방" lat="33.491757" lng="126.903039" addr="제주특별자치도 제주시 구좌읍 종달동길 29-6" loctype="A02"/>
    <marker no="5" name="서귀포 치유의 숲" lat="33.292241" lng="126.52938" addr=" 제주특별자치도 서귀포시 호근동 산4" loctype="A01"/>
    <marker no="6" name="아뜰리에안" lat="33.231547" lng="126.506109" addr=" 제주특별자치도 서귀포시 법환동 1541" loctype="A08"/>
    <marker no="7" name="두멩이골목" lat="33.503694" lng="126.541877" addr=" 제주특별자치도 제주시 일도2동" loctype="A04"/>
</markers>
 
cs


Comments