java 解析xml 并导入数据库(dom4j )
import java.io.File;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class TestXMLImport {
/**
* @param args
*/
public static void main(String[] args) {
String sql = "insert into T_XML(NUMERO, REPOSICION, NOMBRE, TURNOS) values (?, ?, ?, ?)";
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = DbUtil.getConnection();
pstmt = conn.prepareStatement(sql);
Document doc = new SAXReader().read(new File("D:/share/JavaProjects/drp/test_xmlImport/xml/test01.XML"));
List itemList = doc.selectNodes("/ACCESOS/item/SOCIO");
for (Iterator iter=itemList.iterator(); iter.hasNext();) {
Element el = (Element)iter.next();
String numero = el.elementText("NUMERO");
String reposicion = el.elementText("REPOSICION");
String nombre = el.elementText("NOMBRE");
List turnosList = el.elements("TURNOS");
StringBuffer sbString = new StringBuffer();
for (Iterator iter1=turnosList.iterator(); iter1.hasNext();) {
Element turnosElt = (Element)iter1.next();
String lu = turnosElt.elementText("LU");
String ma = turnosElt.elementText("MA");
String mi = turnosElt.elementText("MI");
String ju = turnosElt.elementText("JU");
String vi = turnosElt.elementText("VI");
String sa = turnosElt.elementText("SA");
String doo = turnosElt.elementText("DO");
sbString.append(lu + "," + ma + "," + mi + "," + ju + "," + vi + "," + sa + "," + doo);
}
pstmt.setString(1, numero);
pstmt.setString(2, reposicion);
pstmt.setString(3, nombre);
pstmt.setString(4, sbString.toString());
pstmt.addBatch();
}
pstmt.executeBatch();
System.out.println("将XML导入数据库成功!");
} catch (Exception e) {
e.printStackTrace();
} finally {
DbUtil.close(pstmt);
DbUtil.close(conn);
}
}
}
---------------------------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<ACCESOS>
<item>
<SOCIO>
<NUMERO>00045050</NUMERO>
<REPOSICION>0</REPOSICION>
<NOMBRE>MOISES MORENO</NOMBRE>
<TURNOS>
<LU>T1</LU>
<MA>T2</MA>
<MI>T3</MI>
<JU>T4</JU>
<VI>T5</VI>
<SA>T6</SA>
<DO>T7</DO>
</TURNOS>
</SOCIO>
</item>
<item>
<SOCIO>
<NUMERO>00045051</NUMERO>
<REPOSICION>0</REPOSICION>
<NOMBRE>RUTH PENA</NOMBRE>
<TURNOS><LU>S1</LU><MA>S2</MA><MI>S3</MI><JU>S4</JU><VI>S5</VI><SA>S6</SA><DO>S7</DO>
</TURNOS>
</SOCIO>
</item>
</ACCESOS>
分享到:
相关推荐
Java 解析 XML 并导入数据库(DOM4J) Java 解析 XML 并导入数据库是指使用 Java 语言将 XML 文件解析并将其内容导入到数据库中。下面是使用 DOM4J 库来实现此功能的相关知识点: 一、XML 文件解析 XML...
本教程将介绍如何使用Java解析XML文件,并将解析结果导入MySQL数据库。 首先,我们需要引入处理XML的Java库——JAXB(Java Architecture for XML Binding)和DOM(Document Object Model)API。JAXB用于对象与XML...
下面我们将深入探讨DOM4J的核心概念以及如何使用它来实现XML文件导入数据库的过程。 首先,DOM4J支持多种解析方式,包括DOM、SAX和StAX,可以根据项目需求选择最适合的解析策略。DOM是基于内存的全文档对象模型,...
Java作为一种强大的编程语言,提供了多种API来处理XML,如JDOM、DOM4J、SAX和StAX等。本教程将重点讨论如何使用Java的JDOM库实现XML数据的导入和导出,并结合Ajax技术与不同的数据库进行交互。 首先,让我们深入...
使用dom4j 将xml文件中的数据导入到数据库中,包含xml文件和连接数据库文件,能够运行。 (1)用eclipse创建一个简单的java project (2)导入所需要的包 (3)编写DBUtil.java 连接数据库 (4)编写xml文件 ...
本篇文章将深入探讨如何解析TXT文件中的XML数据并将其有效地导入到数据库。 首先,我们要理解TXT文件中XML的基本结构。XML(可扩展标记语言)是一种用于描述数据的语言,它使用自定义的标签来组织数据。TXT文件可能...
Java提供了许多库,如JAXB(Java Architecture for XML Binding)和DOM(Document Object Model),用于解析XML并创建对象模型,然后这些对象可以通过JDBC接口插入数据库。 使用Java进行XML导入时,一般步骤包括: ...
以下是一个简单的示例,展示如何使用DOM4J解析XML文件并获取特定节点: ```java import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; // 加载XML文件 Document document = ...
相反,当需要将XML数据导入数据库时,可以使用DOM4J解析XML文件,Jaxen处理XPath表达式,最后通过JDBC将数据写入相应的表中。 在实际开发中,为了确保XML驱动的效率和灵活性,开发者需要注意以下几点: - 选择合适...
10. **测试与调试**:编写单元测试以验证XML解析、数据库操作和数据导入导出的功能,使用日志记录工具(如Log4j)来跟踪程序运行情况,帮助调试和问题定位。 以上就是关于“XML与数据库中数据的导入导出”的核心...
1. **导入DOM4J库**:确保你的项目中包含了DOM4J的jar文件,如`dom4j-1.6.1.jar`。你可以通过Maven或Gradle等构建工具将其添加为依赖。 2. **读取XML文件**:使用`DocumentFactory`的`parse()`方法加载XML文件到...
### XML数据提取并导入MySQL数据库知识点 #### 一、任务概述 本任务旨在从XML文件中提取特定的数据字段,并将其导入MySQL数据库。在导入过程中,系统需具备判断能力,能够识别数据库内是否已存在相同的记录,若存在...