查询数据库中数据,存入xml文档
package demo1;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamSource;
import org.w3c.dom.*;
import java.sql.*;
import java.util.*;
import javax.xml.transform.stream.StreamResult;
public class Business {
public static void convertDBToXml (ResultSet rs, String xmlFile) {
try {
ResultSetMetaData rsmd = rs.getMetaData();
Vector colums = new Vector();
for(int i =1; i < rsmd.getColumnCount(); i++) {
colums.addElement(rsmd.getColumnName(i));
}
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.newDocument();
Element root = doc.createElement("dataTable");
doc.appendChild(root);
while(rs.next()) {
Element row = doc.createElement("row");
root.appendChild(row);
for(int i =0; i < colums.size(); i++) {
String temp = rs.getString(i+1);
if(temp == null) {
temp = "";
}
Element colum = doc.createElement(colums.get(i).toString());
row.appendChild(colum);
Text t = doc.createTextNode(temp);
colum.appendChild(t);
}
}
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(xmlFile);
TransformerFactory tfactory = TransformerFactory.newInstance();
Transformer trans = tfactory.newTransformer();
trans.transform(source,result);
System.out.println("compelete");
}catch(Exception ex) {
ex.printStackTrace();
}
}
public static void main(String[] args) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:driver={SQL Server};database=pubs;server=.";
Connection con=DriverManager.getConnection(url,"sa","");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from employee");
convertDBToXml(rs,"E:\\employee.xml");
con.close();
}catch(Exception ex) {
ex.printStackTrace();
}
}
}
推荐文章 |
