当前位置: 代码迷 >> 综合 >> 将数据库中表的数据保存到XML文件中
  详细解决方案

将数据库中表的数据保存到XML文件中

热度:91   发布时间:2023-09-20 23:20:54.0
</pre><pre name="code" class="java">package edu.tsinghua.jdbc;
import java.sql.*;
import javax.xml.parsers.*;
import org.apache.crimson.tree.XmlDocument;
import org.w3c.dom.*;
import java.io.*;
/*** 从数据库中的Student表中读取数据保存到xml文件中* @author admin**/
public class DBtoXML {static Connection con;static String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";static String url ="jdbc:sqlserver://localhost:1433;DatabaseName=mytest";static String user = "xyn";static String password = "xyn";public static void main(String args[]){Document doc;try{//连接数据库,并且得到数据库中的数据,放在结果集中Class.forName(driver);con = DriverManager.getConnection(url, user ,password);Statement st = con.createStatement();ResultSet rs = st.executeQuery("select * from Student ");//创建document实例对象DocumentBuilderFactory bf = DocumentBuilderFactory.newInstance();DocumentBuilder db = bf.newDocumentBuilder();doc = db.newDocument();//创建根节点Element root = doc.createElement("class");//将根节点与文档对象关联doc.appendChild(root);while(rs!=null&&rs.next()){//创建 student 元素Element  student = doc.createElement("student");root.appendChild(student);//获取数据库中的id值作为student元素的属性 student.setAttribute("id", String.valueOf(rs.getInt("id")));//创建name元素,并取得数据库中对应的name值作为该元素的内容Element nameN = doc.createElement("name");nameN.appendChild(doc.createTextNode(rs.getString("name")));student.appendChild(nameN);//创建password元素,并取得数据库中对应的password值作为该元素的内容Element passwordN = doc.createElement("password");passwordN.appendChild(doc.createTextNode(rs.getString("password")));student.appendChild(passwordN);//创建age元素,并取得数据库中对应的age值作为该元素的内容Element ageN = doc.createElement("age");ageN.appendChild(doc.createTextNode(String.valueOf(rs.getInt("age"))));student.appendChild(ageN);	//创建address元素,并取得数据库中对应的address值作为该元素的内容Element addressN = doc.createElement("address");addressN.appendChild(doc.createTextNode(rs.getString("address")));student.appendChild(addressN);			   }//关闭所有的连接if(rs!=null){rs.close();st.close();con.close();}//将doc中的信息最终以文件的形式保存XmlDocument xmldoc = (XmlDocument)doc;File newFile = new File("class.xml");FileWriter newFileStream = new FileWriter(newFile);xmldoc.write(newFileStream); }catch(Exception e){e.printStackTrace();}}
}

  相关解决方案