db2xml.java

来自「java中操作xml」· Java 代码 · 共 66 行

JAVA
66
字号
package com.demo.accp;
import java.sql.*;
import javax.xml.parsers.*;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.xml.sax.*;
import org.w3c.dom.*;
import java.io.*;

public class Db2xml {
  static ResultSet results;
  static Connection con;
  static String nm, add, tel, fax, email, sql;
  static String url = "jdbc:microsoft:sqlserver://localhost:1433;databaseName=pubs";

  public static void  main(String args[]){
    Document doc;
    Element books = null;
    Element book = null; 
    Element name = null; 
    Element price = null; 


    try{
      Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
      con = DriverManager.getConnection(url, "sa", "");
      Statement stmt = con.createStatement();
      results = stmt.executeQuery("SELECT * FROM book"); 

      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
      DocumentBuilder builder=dbf.newDocumentBuilder();
      doc = builder.newDocument();
      books = doc.createElement("Books"); 
      while (results.next()) { 
        book = doc.createElement("book");
        
        String bookid = results.getString("bookid");//取图书ID
        book.setAttribute("bookid", bookid); 
        books.appendChild(book);

        name = doc.createElement("NAME");
        name.appendChild(doc.createTextNode(results.getString("bookname"))); // book name
        book.appendChild(name);        
        
        price = doc.createElement("price");
        price.appendChild(doc.createTextNode(results.getString("price")));
        book.appendChild(price);       
        
      }
      doc.appendChild(books);
      
      //写文件
      TransformerFactory tFactory =TransformerFactory.newInstance();
      Transformer transformer = tFactory.newTransformer();
      DOMSource source = new DOMSource(doc);
      StreamResult result = new StreamResult(new java.io.File("books.xml"));
      transformer.transform(source, result);

    }catch(Exception e){
      e.printStackTrace();
    }
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?