| |
使用jdom操作xml系列文章二 从数据库中读取记录集到平面式xml文件 package jing.xml;
/** * <p>title: 从数据库中读取记录集到平面式xml文件</p> * <p>description: </p> * <p>copyright: copyright (c) 2004</p> * <p>company: </p> * @author 欧朝敬 13873195792 * @version 1.0 */
//将数据库表输出为xml文档 import org.jdom.*; import org.jdom.output.*; import java.sql.*; import java.io.*;
public class databasetoxml { public databasetoxml() { }
public static void main(string[] args) throws exception { class.forname("oracle.jdbc.driver.oracledriver").newinstance(); string url = "jdbc:oracle:thin:@192.168.128.250:1521:sample"; connection conn = drivermanager.getconnection(url, "scott", "tiger"); preparedstatement pstmt = conn.preparestatement( "select * from company order by cid", resultset.type_scroll_sensitive, resultset.concur_updatable); resultset rs = pstmt.executequery(); document document = new document(new element("root")); //创建文档root元素 resultsetmetadata rmd = rs.getmetadata(); int colcount = rmd.getcolumncount(); element elemnetcol = new element("coltype"); for (int i = 1; i <= colcount; i++) { //列属性 elemnetcol.setattribute(rmd.getcolumnname(i), rmd.getcolumntypename(i)); } document.getrootelement().addcontent(elemnetcol);
while (rs.next()) { //不确定表生成xml记录 element element0 = new element("row"); for (int i = 1; i <= colcount; i++) { element0.setattribute(rmd.getcolumnname(i),(rs.getstring(i)==null?"":rs.getstring(i))); } document.getrootelement().addcontent(element0); } rs.close(); pstmt.close(); conn.close(); xmloutputter outp = new xmloutputter(format.getprettyformat()); //格式华输出,产生缩进和换行
format format = outp.getformat(); format.setencoding("gb2312"); //设置语言 format.setexpandemptyelements(true); //设置输出空元素为<sample></sample>格式 outp.setformat(format);
outp.output(document, new fileoutputstream("company.xml")); //输出xml文档 system.out.print("xml 文档生成完毕!"); } }
|
|