输入sql语句,将结果写入到xml文件
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Document;
import org.w3c.dom.Element; /*
* @ author Roger
* @date 2016/5/3
* @description 输入sql语句,将结果写入到xml文件。文件格式按数据库的字段名,字段值格式。
* */
public class pXML {
public static void main(String args[]) throws Exception{
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();
}
}
}
输入sql语句,将结果写入到xml文件的更多相关文章
- PHP如何通过SQL语句将数据写入MySQL数据库呢?
1,php和MySQL建立连接关系 2,打开 3,接受页面数据,PHP录入到指定的表中 1.2两步可直接使用一个数据库链接文件即可:conn.php <?phpmysql_connect(&qu ...
- cmd连接Oracle数据库成功后输入sql语句返回 2
解决办法 : sql语句后一定要跟分号 .
- PL/SQL Developer中输入SQL语句时如何自动提示字段
在PL/SQL Developer中编写sql语句时,如果无法自动提示字段那是一件痛苦的事情,工作效率又低,在此演示下如何在PL/SQL Developer工具中自动提示字段,让开发者省时又省心,操作 ...
- 微软BI 之SSIS 系列 - 两种将 SQL Server 数据库数据输出成 XML 文件的方法
开篇介绍 在 SSIS 中并没有直接提供从数据源到 XML 的转换输出,Destination 的输出对象有 Excel File, Flat File, Database 等,但是并没有直接提供 X ...
- 用SQL语句建库建表建约束(用SQl语句在指定盘符创建文件夹)
一 :创建数据库 创建一个数据文件和一个日志文件(MySchool) create database MySchoolon primary --默认属于primary主文件组,可省略(--数 ...
- 7.数据本地化CCString,CCArray,CCDictionary,tinyxml2,写入UserDefault.xml文件,操作xml,解析xml
数据本地化 A CCUserDefault 系统会在默认路径cocos2d-x-2.2.3\projects\Hello\proj.win32\Debug.win32下生成一个名为UserDef ...
- SQL Server 2008 r2 输入SQL语句不能自动提示的解决办法
先利用“配置工具-SQL Server 配置管理器”关闭所有MSSQLSERVER服务,利用SQL Server Installation Center,进入Maintenance,选择Repair, ...
- SQL Server中使用SQL语句关闭数据库连接和删除数据库文件
有时候我们想用DROP DATABASE语句删除数据库和数据库文件,会删不掉,因为有其他人正在使用要删除的数据库,这里有一个方法可以强制断开其它数据库连接,再删除数据库. 假如我们要删除的数据库是[T ...
- MyBatis3-topic-01 -安装/下载/官方文档 -执行输入一条已经映射的sql语句
mybatis XML 映射配置文件 (官方文档) -对象工厂(objectFactory) -配置环境(environments) -映射器(mappers) 本地IDEA搭建/测试步骤 创建数据库 ...
随机推荐
- End to End Sequence Labeling via Bidirectional LSTM-CNNs-CRF论文小结
本篇论文是卡内基梅隆大学语言技术研究所2016年 arXiv:1603.01354v5 [cs.LG] 29 May 2016 今天先理解一下这个是什么意思: 找到的相关理解:arXi ...
- tensorflow常用函数解析
一.tf.transpose函数的用法 tf.transpose(input, [dimension_1, dimenaion_2,..,dimension_n]):这个函数主要适用于交换输入张量的不 ...
- Bagging和Boosting 概念及区别(转)
Bagging和Boosting都是将已有的分类或回归算法通过一定方式组合起来,形成一个性能更加强大的分类器,更准确的说这是一种分类算法的组装方法.即将弱分类器组装成强分类器的方法. 首先介绍Boot ...
- 通过or注入py脚本
代码思路 1.主要还是参考了别人的代码,确实自己写的和别人写的出路很大,主要归咎还是自己代码能力待提高吧. 2.将功能集合成一个函数,然后通过*args这个小技巧去调用.函数的参数不是argv的值,但 ...
- 【Python学习】matplotlib的颜色
matplotlib自带的颜色 seaborn的颜色 装了seaborn扩展的话,在字典seaborn.xkcd_rgb中包含所有的xkcd crowdsourced color names. 使用的 ...
- exit()与_exit()区别
exit()与_exit()都是用来终止进程的函数,当程序执行到两者函数时,系统将会无条件停止剩下操作,清除进程结构体相应信息,并终止进程运行. 二者的主要区别在于:exit()函数在执行时,系统会检 ...
- linux下终端游戏
sl 一列火车 oneko 一只淘气的小猫
- windows7 能连接移动硬盘 无法显示盘符
右键点我的电脑,管理里,点磁盘管理,看盘认到没,有时候认到了但是没给盘符,需要自己手动给一个
- MinnowBoard
MinnowBoard https://github.com/RafaelRMachado/MinnowBoard https://github.com/RafaelRMachado https:// ...
- mac os x 把reids nignx mongodb做成随机启动吧
~/Library/LaunchAgents 由用户自己定义的任务项 /Library/LaunchAgents 由管理员为用户定义的任务项 /Library/LaunchDaemons 由管理员定义 ...