设为首页 加入收藏

TOP

从数据库中读取记录集到平面式XML
2014-11-23 15:20:35 】 浏览:4660
Tags:数据库 读取 记录 平面 XML

  从数据库中读取记录集到平面式XML


  package jing.xml;


  /**
  *


Title: 从数据库中读取记录集到平面式XML文件


Description:


Copyright: Copyright (c) 2004


Company:



  //将数据库表输出为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); //设置输出空元素为 格式
  outp.setFormat(format);


  outp.output(document, new FileOutputStream("company.xml")); //输出XML文档
  System.out.print("XML 文档生成完毕!");
  }
  }


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇从数据库中读出图片并显示的示例.. 下一篇Java解析XML文件的四种方法

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目