mysql存入xml文件_输入sql语句,将结果写入到xml文件

importjava.io.FileOutputStream;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjavax.xml.parsers.DocumentBuilder;importjavax.xml.parsers.DocumentBuilderFactory;importjavax.xml.transform.OutputKeys;importjavax.xml.transform.Transformer;importjavax.xml.transform.TransformerFactory;importjavax.xml.transform.dom.DOMSource;importjavax.xml.transform.stream.StreamResult;importorg.w3c.dom.Document;importorg.w3c.dom.Element;/** @ author Roger

* @date 2016/5/3

* @description 输入sql语句,将结果写入到xml文件。文件格式按数据库的字段名,字段值格式。

**/

public classpXML {public static void main(String args[]) throwsException{

Connection conn= null;

String sql;

String url= "jdbc:mysql://localhost:3306/test?"

+ "user=root&password=root&useUnicode=true&characterEncoding=UTF8";try{

Class.forName("com.mysql.jdbc.Driver");

System.out.println("成功加载MySQL驱动程序");

conn=DriverManager.getConnection(url);

Statement stmt=conn.createStatement();

sql= "select * from people";

ResultSet rs=stmt.executeQuery(sql);

System.out.println("查询人员资料:");

DocumentBuilder builder=DocumentBuilderFactory.newInstance().newDocumentBuilder();

Document doc=builder.newDocument();

Element root= doc.createElement("Info");

doc.appendChild(root);while(rs.next()){

Element people= doc.createElement("People");

System.out.println(rs.getString(1) + "\t" + rs.getString(2) + "\t" + rs.getString(3) + "\t" + rs.getString(4));

Element no= doc.createElement("no");

no.appendChild(doc.createTextNode(rs.getString(1)));

people.appendChild(no);

Element name= doc.createElement("name");

name.appendChild(doc.createTextNode(rs.getString(2)));

people.appendChild(name);

Element sex= doc.createElement("sex");

sex.appendChild(doc.createTextNode(rs.getString(3)));

people.appendChild(sex);

Element age= doc.createElement("age");

age.appendChild(doc.createTextNode(rs.getString(4)));

people.appendChild(age);

root.appendChild(people);

}

TransformerFactory tf=TransformerFactory.newInstance();try{

Transformer t=tf.newTransformer();

t.setOutputProperty(OutputKeys.INDENT,"yes");

t.setOutputProperty(OutputKeys.METHOD,"xml");

t.setOutputProperty("{http://xml.apache.org/xslt}indent-amount","2");

t.transform(new DOMSource(doc),new StreamResult(new FileOutputStream("d:\\sql.xml"))); //执行上面的设置并且输出到文件中

System.out.println("生成XML文件成功!");

}catch(Exception e){

e.printStackTrace();

}

}catch(SQLException e){

System.out.println("MySql操作错误");

e.printStackTrace();

}catch(Exception e){

e.printStackTrace();

}finally{

conn.close();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值