`
zzc_zj
  • 浏览: 15011 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

JAVA从数据库导出数据转换XML

    博客分类:
  • j2ee
阅读更多
//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实现XML导入不同数据库,从数据库导出数据到XML

    从数据库导出到XML,则是相反的过程: 1. **查询数据库**:编写SQL查询语句从数据库中获取需要的数据。 2. **构建XML**:根据查询结果,使用JDOM创建新的XML文档结构。 3. **写入文件**:将XML文档写入文件,完成...

    java 数据库导出工具

    Java 数据库导出工具是一种程序,它允许用户将数据库中的数据导出为XML文件格式。XML(eXtensible Markup Language)是一种结构化数据存储格式,广泛用于数据交换和存储,因为它具有良好的可读性和跨平台兼容性。...

    java iText 实现从数据库中导出数据到已有的PDF模板

    Java中的iText库是一个强大的...总的来说,Java结合iText实现从数据库导出数据到PDF模板涉及了数据库操作、Java I/O、PDF处理和数据映射等多个技术点。理解并掌握这些技能,对于开发高效、灵活的数据导出功能至关重要。

    JAVA实现跨数据库服务器数据导出导入功能

    当涉及到不同数据库系统间的数据交互,如从SQL Server到MySQL,JAVA作为一种强大的后端编程语言,提供了丰富的库和工具来实现跨数据库服务器的数据导出和导入功能。本文将深入探讨如何使用JAVA来实现这一目标。 ...

    从数据库中查询结果,并导出EXCEL 和XML,支持导入XML,再导出EXCEL,互相转换

    本文将详细介绍如何从数据库中查询结果,并将其导出为Excel和XML格式,以及如何导入XML数据再导出为Excel,实现这两种格式之间的互相转换。 首先,我们要了解数据库查询。数据库查询通常通过SQL(结构化查询语言)...

    数据库导出为html页面源码和POM文件依赖,java导出数据库表结构为html

    具体到这个例子,`DatabaseExportApplication.java`很可能是项目的主要入口点,包含实际的数据库导出逻辑。而`pom.xml`文件则会列出所有必要的依赖,比如MySQL或Oracle的JDBC驱动,以及可能用到的模板引擎库。在POM...

    数据库数据生成xml

    例如,使用ETL(Extract, Transform, Load)工具如 Talend Open Studio 或 Apache Nifi,它们提供图形化的界面来定义数据流,包括从数据库到XML的转换。另外,数据库管理系统如MySQL、PostgreSQL也提供了内置的XML...

    阿里的EasyExcel+Mysql方式实现数据库数据导出生成exce

    在IT行业中,数据导入导出是一项常见的任务,特别是在企业级应用中,用户可能需要将大量数据从数据库导出为Excel格式,以便于分析、编辑,然后再导入回数据库进行更新或新增。阿里开源的EasyExcel工具结合SpringBoot...

    Java大批量导出数据,格式可以为xml或excel..do

    ### Java大批量导出数据至Excel或XML技术详解 #### 技术背景及应用场景 在企业级应用开发中,经常需要处理大量数据的导出需求,例如报表导出、数据分析等场景。对于这类需求,使用Java进行批量数据导出至Excel或...

    java数据库xml驱动

    在Java数据库XML驱动的场景下,Jaxen通过解析XPath表达式,帮助从XML文档中找到特定的数据,进而更新或查询数据库。 使用这两个库,开发者可以构建强大的数据交换系统,将数据库中的数据以XML格式导出,方便地进行...

    数据库转化为xml文件

    - ETL工具(Extract, Transform, Load)如Apache NiFi或Informatica也可以用于从数据库到XML的转换,提供图形化的数据流设计。 - 自动化脚本:Python的pandas库和sqlalchemy模块,或Java的JDBC,允许编写脚本来...

    数据导入导出 (java)

    导出时,将Java对象转换为XML文件。此外,DOM、SAX和StAX也是处理XML的API,各有优缺点,适用于不同场景。 3. **TXT数据导入导出**: TXT文件是最简单的文本格式,处理起来相对直观。Java的`BufferedReader`和`...

    将数据库数据以XML文件格式保存

    3. **转换数据**: 使用数据库提供的功能或编程语言(如Python、Java、PHP)的库将查询结果转换为XML。例如,SQL Server有`FOR XML`子句,MySQL有`XML CONCAT`函数,而Python有`xml.etree.ElementTree`模块。 4. **...

    【转】通用从数据库导出excel、excel导入数据库组件

    标题中的“通用从数据库导出excel、excel导入数据库组件”是指一种软件工具或技术,它允许用户方便地将数据从数据库导出到Excel电子表格格式,并能将Excel数据反向导入回数据库。这样的组件通常在数据迁移、数据分析...

    xml与数据库中数据的导入导出

    3. **Java数据库连接(JDBC)**:Java的标准API,用于与各种数据库进行通信。在这里,Java程序使用JDBC连接到MySQL数据库,执行查询、插入、更新或删除操作。 4. **SQL语句**:在导入XML数据到数据库时,可能需要...

Global site tag (gtag.js) - Google Analytics