/*
*
****数据库导出.xml文件,通过给定的表名导出所有数据生成xml文件
****
*/
package com.lwp.dbxml;
import java.io.File;
import java.io.FileWriter;
import java.io.Writer;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.zip.DataFormatException;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import com.sun.org.apache.bcel.internal.generic.NEW;
public class CreateXML {
/**
* 通过给定的表名导出所有数据生成xml文件
*
* @param tableName
* 数据库表名
*/
public static void createXml(String tableName) {
System.out.println("==========转换开始==============");
try {
// -------------jdbc代码 com.microsoft.sqlserver.jdbc.SQLServerDriver
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=SunLeadsGps";
String user = "sa";//
String password = "123456";//
Connection con = DriverManager.getConnection(url, user, password);
String sql = "select e.* from " + tableName + " e";
PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
// 任务:从resultset结果集中提取元数据信息
ResultSetMetaData rsmd = rs.getMetaData();
// 表的字段数目
int count = rsmd.getColumnCount();
// 存入列名数组
String[] columnName = new String[count];
for (int i = 1; i <= count; i++) {
columnName[i - 1] = rsmd.getColumnName(i);
}
// -----------------使用DOM4J生成xml文件
Document doc = DocumentHelper.createDocument();
// 生成根节点
Element root = doc.addElement("ROOT");
int i;
while (rs.next()) {
Element e = root.addElement(tableName);
for (i = 1; i <= count; i++) {
Element column = e.addElement(columnName[i - 1]);
if (rs.getObject(i) != null) {
column.setText(rs.getObject(i) + "");
} else {
column.setText("");
}
}
}
// 写入文件
DateFormat df = new SimpleDateFormat("yyyyMMdd");
OutputFormat opf = OutputFormat.createPrettyPrint();
opf.setEncoding("GBK");
System.out.println("E:/" + df.format(new Date()));
File f = new File("E:/" + df.format(new Date()));
if (f.exists() == false) {
f.mkdir();
}
Writer w = new FileWriter(f + "/" + tableName + ".xml");
XMLWriter xw = new XMLWriter(w, opf);
xw.write(doc);
// 关闭文件流
xw.close();
w.close();
rs.close();
ps.close();
con.close();
System.out.println("==========生成完毕==============");
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
createXml("user");
}
分享到:
相关推荐
根据给定的信息,本文将详细解释如何在ASP.NET与C#环境下使用ADO.NET技术实现数据与XML文件之间的导入与导出操作。此过程涉及到ADO.NET中的`DataSet`对象及其相关属性与方法、XML序列化机制以及如何通过编程手段管理...
在Oracle数据库环境中,将XML文件的数据导入到数据库或从数据库导出到XML文件是一项常见的任务,特别是在需要在不同系统间交换结构化数据时。这里,我们讨论如何使用PL/SQL来实现这一过程。 首先,我们需要创建一个...
### ORACLE导入与导出XML文件的技术解析 #### 标题和描述中的核心知识点 本文主要探讨了在Oracle数据库环境中如何实现XML文件的导入与导出功能,通过具体实例来解决批量处理数据的问题。XML(Extensible Markup ...
- OpenCSV是一个专门处理CSV文件的库,如果你的数据格式简单,也可以考虑直接导出CSV文件,因为它们的生成和解析相对简单。 总结来说,Java导出Excel文件主要依赖于像JExcelApi这样的第三方库,通过这些库提供的...
### R 数据导入和导出知识点总结 ...总的来说,《R 数据导入和导出》这份文档为用户提供了一个全面的数据处理框架,涵盖了从基本的文本文件处理到复杂的关系数据库交互等多种场景,极大地简化了数据科学家的工作流程。
在给定的压缩包文件中,我们看到了多个名为"SalesWareHouseOut_"的XML文件,这些文件可能包含了销售仓库的输出数据,例如订单、产品、客户等信息。每个文件的名称都带有时间戳,这表明它们可能是定期生成的,用于...
4. **XML数据导出**:从Excel导出XML文件的过程,包括可能的警告和数据丢失问题。 5. **数据一致性**:XML文件中的数据应与Excel中的数据保持一致。 掌握这些知识点,能够帮助你在日常工作中更有效地处理结构化数据...
在IT领域,特别是软件开发与数据处理中,XML(可扩展...这种方法不仅适用于数据导出,还广泛用于API响应、配置文件生成以及数据交换等场景。理解并掌握这些基本概念,将有助于开发者在实际项目中更灵活地处理XML数据。
例如,可以编写一个Java程序,使用JDBC连接数据库,执行SELECT查询,获取"mytable"表的所有数据,再使用DOM API创建XML文档结构,将查询结果写入XML文件。 在Java程序`DBtoXML1`中,首先建立数据库连接,然后使用...
14. CURSORTOXML(): 将Visual FoxPro临时表转换成XML文本格式,便于数据交换或导出。 15. CURVAL(): 直接从磁盘上的表或远程数据源中返回字段的值,而无需先加载整个记录。 16. DBC(): 获取当前活动数据库的名称和...
在这个场景中,我们将探讨如何使用POI来创建CSV文件,这在数据导入导出、数据分析或报表生成等场景中非常常见。 CSV文件因其简洁和通用性而广泛使用,它可以用文本编辑器打开,也可以被大多数电子表格软件如...
在本项目中,我们主要涉及了以下几个IT领域的关键知识...通过以上步骤,你可以构建一个能够实时从Oracle数据库读取数据并用Highcharts生成图表的Web应用。这个项目对于数据分析、监控或者报表展示都有实际的应用价值。
数据备份通常通过导出数据库为 SQL 脚本或者 XML 文件实现。在提供的文件中,student_mysql.sql 可能就是一个数据库的 SQL 备份,可以通过执行这个文件将数据导入到数据库中。DBUnit 提供了 `IDataFormatter` 接口...
根据给定的信息,本文将详细解释如何利用XML技术来实现数据导出至Excel的功能,并对提供的部分代码进行解析。此方法对于需要频繁处理数据导出任务的开发人员来说非常实用。 ### 一、导出数据至Excel的基本原理 在...
- 数据备份与导入:将数据库内容导出为XML,便于存储和迁移。 总之,PHP提供了丰富的工具处理XML,使得在不同数据格式间转换变得简单高效。理解并熟练运用这些工具,能够提升你的开发效率和代码质量。对于给定的类...
数据可以从数据库、CSV文件或其他数据源获取,然后映射到PPT模板的占位符上。这通常涉及迭代数据,用数据替换`TextShape`的文本内容。 7. **jar依赖**: 使用Apache POI,你需要在项目中引入相应的jar文件。现代...
这种技术尤其适合在服务器端进行文件生成,比如在ASP.NET环境中。 要利用OpenXML在ASP.NET中生成Word文档,首先你需要了解OpenXML SDK。OpenXML SDK是微软提供的一个免费工具包,它为开发人员提供了处理OpenXML文档...
标题“数据导出”涉及到的是将数据库中的信息转化为可存储或传输的格式,这通常用于备份、分析或者在不同系统间共享数据。描述中的“博文链接”指向了一个可能的详细解释,但遗憾的是,没有实际内容提供。标签“源码...
ET200SP是西门子公司的分布式I/O系统,它是SIMATIC自动化系统的一部分,用于实现工厂自动化中的数据通信。Profinet是一种基于工业以太网的通信标准,由德国 PROFIBUS 国际组织(PI)开发,是工业自动化领域广泛采用...
4. **QTreeWidget项导出保存为Xml**:当用户在`QTreeWidget`中进行操作后,如修改节点内容,可以将这些变化保存回XML文件。这可以通过遍历`QTreeWidget`的项,构建新的`QDomDocument`,并将每个项转换为其对应的XML...