//1。建立jdbc-odbc连接
//2。在定义变量中,写入XML文件路径(在eclipse的编写)
//3。建立数据库(以下DB为Users ),建表(以下表为users)
//4。代码如下
import java.io.File;
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.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;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.Text;
public class append {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
try{
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document doc=builder.parse(args[0]);//记得定义你的XML路径
doc.normalize();
Element root = doc.getDocumentElement();
accessDB(doc,root);
if(doc != null)
printNode(root);
//////////////////////////
TransformerFactory tf=TransformerFactory.newInstance();
Transformer transformer=tf.newTransformer();
DOMSource source=new DOMSource(doc);
StreamResult result= new StreamResult(new File(args[0]));
transformer.transform(source,result);
}catch(Exception e){
e.printStackTrace();
}
}
public static void createXML(Document doc,Element root,ResultSet rs){
try{
boolean flag=rs.next();
while(flag){
Element Users=doc.createElement("Users");
Element userid=doc.createElement("userid");
Text userid_text=doc.createTextNode(""+rs.getInt("userid"));
userid.appendChild(userid_text);
Element username =doc.createElement("username");
Text username_text=doc.createTextNode(rs.getString("username"));
username.appendChild(username_text);
Element password =doc.createElement("password");
Text password_text=doc.createTextNode(rs.getString("password"));
password.appendChild(password_text);
Users.appendChild(userid);
Users.appendChild(username);
Users.appendChild(password);
root.appendChild(Users);
flag=rs.next();
}
}
catch(SQLException e){
e.printStackTrace();
}
}
public static void accessDB(Document doc , Element root){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn= DriverManager.getConnection("jdbc:odbc:yourBDconName"/*URL*/
);
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select * from users");
createXML(doc,root,rs);
rs.close();
stmt.close();
conn.close();
}catch(Exception e){
e.printStackTrace();
}
}
public static void printNode(Element element){
NodeList children=element.getChildNodes();
NamedNodeMap attr=element.getAttributes();
int r=children.getLength();
if(attr!=null){
System.out.print("<"+element.getNodeName());
for(int j=0;j<attr.getLength();j++)
{
System.out.print(" "+attr.item(j).getNodeName());
}
System.out.print(">"+"\n");
}
else if(attr==null){
System.out.print("<"+element.getNodeName()+">");
}
if(element.hasChildNodes()){
for(int k=0;k<r;k++)
{
if(children.item(k).getNodeType()==Node.ELEMENT_NODE)
printNode((Element)children.item(k));
else if(children.item(k).getNodeType()==Node.TEXT_NODE)
System.out.println(children.item(k).getNodeValue());
}
}
System.out.print("</"+element.getNodeName()+">"+"\n");
}
}
转自:http://hannoi2009.blog.163.com/blog/static/122828428200992111317727/
分享到:
相关推荐
java后台从数据库读取 数据,封装到list集合,控制层转化为XML格式数据
15.2.3 使用XSL样式表转换XML 15.2.4 在JSP页面中使用XSL转换 15.3 使用具有XSL样式表的可更新ResultSet 15.4 小结 第16章 使用JDBC驱动的JavaMail API 16.1 使用电子邮件协议 16.1.1 MIME协议 16.1.2 ...
将 db 数据导出为 csv、json、xml 或 sql 文件的 Java 工具。 支持 Oracle DB、MySQL DB、PostgreSQL DB、Firebird DB、SQLite DB、Derby DB 和 HSQL DB。 此工具不包含所需的 db 驱动程序,但只需下载和配置一次...
15.2.3 使用XSL样式表转换XML 15.2.4 在JSP页面中使用XSL转换 15.3 使用具有XSL样式表的可更新ResultSet 15.4 小结 第16章 使用JDBC驱动的JavaMail API 16.1 使用电子邮件协议 16.1.1 MIME协议 16.1.2 ...
15.2.3 使用XSL样式表转换XML 15.2.4 在JSP页面中使用XSL转换 15.3 使用具有XSL样式表的可更新ResultSet 15.4 小结 第16章 使用JDBC驱动的JavaMail API 16.1 使用电子邮件协议 16.1.1 MIME协议 16.1.2 ...
15.2.3 使用XSL样式表转换XML 15.2.4 在JSP页面中使用XSL转换 15.3 使用具有XSL样式表的可更新ResultSet 15.4 小结 第16章 使用JDBC驱动的JavaMail API 16.1 使用电子邮件协议 16.1.1 MIME协议 16.1.2 ...
WARTS是一个纯Java数据库工具,可以执行字符编码识别的数据同步。开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的...
2、新增按字段生成文件,支持把字段、JSON、XML数据转换成任何代码 3、新增大量新的自定义模板,如:DDL、随机数据、导出数据、数据模型、Ant Design Vue的CRUD模板等 4、新增更多用于自定义模板生的内置静态对象 5...
其数据库结构定义文件采用XML标准格式、 并且开放了外部读取数据库结构的源程序(C#/Delphi/JAVA)、 您可以通过使用BDB来简化软件开发和部署过程: 1、数据库设计、数据库部署:支持和数据库之间的正向和反向工程。 ...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
BDB是贝恩软件... 开放的数据库物理结构文件格式(XML标准格式),并提供了外部调用数据库结构源程序 (包含C#/Delphi/JAVA三个版本)。 <br>11,支持多语言。 可根据需要增加新的语言包。
<br>此外、在BDB中提供了对开发语言的支持、 其数据库结构定义文件采用XML标准格式、 并且开放了外部读取数据库结构的源程序(C#/Delphi/JAVA)、 您可以通过使用BDB来简化软件开发和部署过程: <br>1...
数据库提取器使用 DbUnit 编写 Junit 测试时,您可能希望将数据从数据库导出到 xml 文件,反之亦然。 该工具将帮助您完成这项工作。 它为您提供以下功能: 将数据库转换为 xml 文件(完整和部分) 将 xml 文件插入回...
D、不同数据库平台数据类型自动转换功能。您只需采用比较熟悉的数据库进行定义、 系统会帮您自动进行转换。 E、自定义功能、可根据需要扩展数据库结构定义文件。 F、支持多语言(目前版本语言:中/英文)。并...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
<br>此外、在BDB中提供了对开发语言的支持、 其数据库结构定义文件采用XML标准格式、 并且开放了外部读取数据库结构的源程序(C#/Delphi/JAVA)、 您可以通过使用BDB来简化软件开发和部署过程: <br>1...
<br>此外、在BDB中提供了对开发语言的支持、 其数据库结构定义文件采用XML标准格式、 并且开放了外部读取数据库结构的源程序(C#/Delphi/JAVA)、您可以通过使用BDB来简化软件开发和部署过程: <br>1、...
WARTS是一个纯Java数据库工具,可以执行字符编码识别的数据同步。开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的...
WARTS是一个纯Java数据库工具,可以执行字符编码识别的数据同步。开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的...
WARTS是一个纯Java数据库工具,可以执行字符编码识别的数据同步。开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的...