使用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 文档生成完毕!");
}
}
闽公网安备 35060202000074号