使用JDOM操作XML系列文章二 从数据库中读取记录集到平面式XML文

王朝other·作者佚名  2008-05-31
宽屏版  字体: |||超大  

使用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 文档生成完毕!");

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有