- 浏览: 352311 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
pacoson:
感谢楼主。请受小生一拜。
ANT预编译JSP -
zhuhongming123:
一楼的同学Lucene4.* 以上的 已经改成了Numeric ...
Lucene日期排序及组合查询 -
ywjk520:
RangeQuery在哪个包里?
Lucene日期排序及组合查询 -
willwen:
有个疑问,楼主,为何初始化bits 从txt读取已有的网址是直 ...
布隆过滤器(Bloom Filter)之java实例 -
yu_226528:
还不如没有呢
jFreeChart 在jsp页上实现简单的折线图、柱状图
data.xml
<?xml version="1.0" encoding="UTF-8"?> <dbData> <t_information number="0"> <id>'1'</id> <content>'ed'</content> <createDate>' '</createDate> <source>'ff'</source> <title>'fff'</title> <url>' '</url> <equipment_id>null</equipment_id> <type_id>null</type_id> </t_information> <t_information number="1"> <id>'2'</id> <content>'cc'</content> <createDate>' '</createDate> <source>'cc'</source> <title>' '</title> <url>' '</url> <equipment_id>null</equipment_id> <type_id>null</type_id> </t_information> <t_user number="0"> <id>'1'</id> <birthday>' '</birthday> <enabled>'1'</enabled> <gender>' '</gender> <password>'33'</password> <realName>'dd'</realName> <school>'dd'</school> <specialty>' '</specialty> <username>' '</username> </t_user> <t_user number="1"> <id>'2'</id> <birthday>' '</birthday> <enabled>'1'</enabled> <gender>' '</gender> <password>'dfgd'</password> <realName>'dg'</realName> <school>'dfg'</school> <specialty>'dfd'</specialty> <username>'dfg'</username> </t_user> <t_user number="2"> <id>'3'</id> <birthday>' '</birthday> <enabled>'0'</enabled> <gender>' '</gender> <password>'45'</password> <realName>'reet'</realName> <school>'ert'</school> <specialty>'ert'</specialty> <username>'ert'</username> </t_user> <t_user number="3"> <id>'5'</id> <birthday>'1900-01-01 00:00:00.0'</birthday> <enabled>'0'</enabled> <gender>''</gender> <password>'452'</password> <realName>'reets'</realName> <school>'erts'</school> <specialty>'erts'</specialty> <username>'erts'</username> </t_user> <t_user number="4"> <id>'6'</id> <birthday>'1900-01-01 00:00:00.0'</birthday> <enabled>'2'</enabled> <gender>'2'</gender> <password>'4542'</password> <realName>'re2ets'</realName> <school>'er2ts'</school> <specialty>'e2rts'</specialty> <username>'ert2s'</username> </t_user> <t_user number="5"> <id>'7'</id> <birthday>'1900-01-01 00:00:00.0'</birthday> <enabled>'42'</enabled> <gender>'22'</gender> <password>'4542'</password> <realName>'re22ets'</realName> <school>'er2t2s'</school> <specialty>'e2r3ts'</specialty> <username>'ert22s'</username> </t_user> </dbData>
import java.io.FileInputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import org.jdom.Document; import org.jdom.Element; import org.jdom.input.SAXBuilder; public class XMLToDB { @SuppressWarnings("unchecked") public void ParseXMl() throws Exception { SAXBuilder sb = new SAXBuilder();// 建立构造器 Document doc = sb.build(new FileInputStream("c:/data.xml"));// 读入指定文件 Element root = doc.getRootElement();// 获得根节点 List list = root.getChildren();// 将根节点下的所有子节点放入List中 //删除原表中的内容 for(int i=0;i<list.size();i++){ Element item=(Element)list.get(i); String tableName=item.getName(); String sql= "delete from "+tableName; String tn=""; if(!tableName.equals(tn))executeTable(sql); tn=tableName; } for (int i = 0; i < list.size(); i++) { Element item = (Element) list.get(i);// 获取节点实例 String tableName = item.getName();// 获得元素节点的值为表名 //System.out.println("-----------" + tableName); // 获得所有的content一个[[Text:], [Element: <title/>], [Text:], [Element: // <content/>], [Text: ], // [Element: <email/>], [Text:]] List llist = item.getContent(); Iterator it = llist.iterator(); // 获取表中每一个字段的值,如title,content,email,放到columnList List columnList = new ArrayList(); while (it.hasNext()) { Object object = it.next(); if (!object.toString().substring(1, 2).equals("T")) columnList.add(object.toString().substring( object.toString().indexOf("<") + 1,object.toString().indexOf("/"))); else { continue; } } Map columndata = new HashMap();// 存储表字段与对应的值 Iterator column = columnList.iterator(); while (column.hasNext()) { // System.out.println(column.next()); String columnname = column.next().toString(); String value = item.getChild(columnname).getText();// 取得属性值 columndata.put(columnname, value); //System.out.println(columnname + "-->" + value); } String aa = "", bb = ""; int m = 0; //遍历map中的key,value组成表中的一行 Set<Map.Entry> set = columndata.entrySet(); for (Map.Entry me : set) { if("id".equals(me.getKey()))continue; else{ String key = (String) me.getKey(); String value = (String) me.getValue(); if (m != 0) { aa = aa + "," + key; bb = bb + "," + value; } else{ aa = key; bb = value; } m++; } }//for String sql = "insert into " + tableName + "(" + aa + ") values ("+ bb + ")"; //System.out.println(sql); executeTable(sql); }//向表中插入一行 } public static void executeTable(String sql)throws Exception{ Statement stat=XMLToDB.getConn().createStatement(); stat.execute(sql); } public static Connection getConn()throws Exception{ Class.forName("net.sourceforge.jtds.jdbc.Driver"); String connStr="jdbc:jtds:sqlserver://localhost:1433/webNews"; Connection conn=DriverManager.getConnection(connStr,"sa",""); return conn; } public static void main(String[] args) { try { XMLToDB xmlToDB = new XMLToDB(); xmlToDB.ParseXMl(); } catch (Exception e) { e.printStackTrace(); } } }
发表评论
-
HttpClient 学习整理
2010-12-02 14:05 832一般的情况下我们都是使用IE或者Navigator浏览器来访问 ... -
Log4j配置详解
2010-11-19 15:36 9581.Log4j日志管理系统简 ... -
C++和JNI的数据转换(3)
2010-09-29 14:58 967Java 测试native代码这没有什么多说的,看代码吧 ... -
C++和JNI的数据转换(2)
2010-09-29 14:49 1088全部的C/C++方法实现代码如下: /**//*** ... -
C++和JNI的数据转换(1)
2010-09-29 14:42 1850<script type="text/java ... -
ANT预编译JSP
2010-09-07 22:27 2567<?xml version="1.0" ... -
java操作Excel(jxl)
2010-08-05 09:27 1163package test;import jxl.*; ... -
什么是Jetty
2010-05-21 17:03 1067Jetty 是一个开源的servlet ... -
使用jetty作为嵌入式web容器(部署war文件)
2010-05-21 16:58 1275由于工作的需要,仓促的摸了一把jetty,觉得jetty在作为 ... -
一段分页代码PaginationSupport.java
2010-05-01 16:37 1311package com.iteye.common.hibern ... -
response.sendRedirect() 的session丢失问题
2010-04-29 10:42 2912使用时response.sendRedirect(),如果 ... -
EHCACHE简介
2010-04-25 19:37 993二级缓存 EHCache是一个 ... -
jFreeChart 在jsp页上实现简单的折线图、柱状图
2010-02-08 14:22 3662创建柱状图 1 引入jFreech ... -
用dom4j实现openfire式导航菜单
2010-01-06 22:26 1666借鉴Openfire项目中 ... -
Jxl简析(二)
2009-11-30 18:31 1087(二)应用 在进行实践前,我们需要对excel ... -
Jxl简析(一)
2009-11-30 18:28 1199最近,完成了一个网上报表系统,刚巧用到了一个JAVA操作exc ... -
Java实现异库多表多字段的同时导入导出
2009-11-28 16:59 1743最近公司做的项目中要求把项目实施单位的原有系统中的表导入到我们 ... -
JavaMail API详解
2009-11-26 16:12 913版权声明:本文可以自由转载,转载时请务必以超链接形式标明文 ... -
FCKeditor 2.6.3与FCKeditor.java 2.4在JSP中配置
2009-11-26 16:08 24771.FCKeditor 介绍 FCKeditor 这个开 ... -
IE6中奇偶中文参数乱码的问题
2009-11-14 12:55 2802form是以post方式传递的,pager-taglib中接受 ...
相关推荐
这会将XML数据解析成多个列,并返回对应的数据。 3. **基于XML字段的WHERE条件**: - 在`DB2SelectWhere.txt`中可能涵盖了如何在WHERE子句中使用XML字段。例如,可以使用`XMLQUERY`函数进行比较或模式匹配。`...
- **数据库模式到XML模式的映射**:DB2允许用户定义XML模式,并将其与数据库模式对应,这样就可以轻松地在数据库记录和XML文档之间进行转换。 - **原生XML数据库**:DB2还可以作为一个原生XML数据库,直接存储和管理...
它很可能包含了多个XML文件,每个文件对应不同的数据库连接配置。这样的设计便于管理和切换不同的数据库环境,比如开发、测试和生产环境。通过解压这个ZIP文件,我们可以查看和修改这些XML配置,以适应不同的数据库...
这个过程涵盖了数据库连接、SQL查询、JDOM对象构建以及XML序列化等多个关键步骤,对于理解和实践Java中数据库与XML交互的开发者来说非常有价值。通过学习这个项目,你可以更好地理解如何在实际项目中处理类似的数据...
本教程将详细讲解如何在Visual Studio 2010和2005环境下,读取XML文件并将其内容存储到SQLite数据库中,同时解决中文乱码问题。 首先,解析XML文件是整个过程的第一步。在C++中,我们可以使用DOM(Document Object ...
XMLtoDB是一个开源软件工具,专门设计用于将XML文件中的数据高效、准确地导入到数据库系统中。XML(可扩展标记语言)是一种广泛使用的数据交换格式,它允许以结构化的方式存储和传输信息。XMLtoDB解决了XML数据与...
DB2 认证是对 IT 专业人士在使用和管理 DB2 数据库技能的验证,它包括多个级别的认证,例如 DB2 Associate、DB2 Administrator 等。通过 DB2 认证的考试,你需要对 DB2 的基础知识、SQL、索引、访问计划、安全性等...
Oracle XMLDB是Oracle数据库提供的一个特性,它允许用户存储、检索和管理XML数据,如同管理关系型数据一样。XMLDB支持SQL/XML和XQuery两种标准,用于处理存储在数据库中的XML文档。本文档是Oracle在2013年发布的...
这通常涉及到创建一个或多个表,这些表的列对应于XML文档的元素,数据类型为XMLType。XML文档的内容可以被解析并插入到这些XMLType列中。此外,XMLType支持XPath和XQuery等XML查询语言,使得在数据库中查询XML数据变...
每个压缩包中的文件(db2cert701x-a4.pdf)可能对应一个或多个主题,详细展开每个主题,帮助学习者逐步深入理解和掌握DB2的相关技术。由于是英文教程,建议有一定英文阅读基础的用户使用,并且可以通过翻译工具辅助...
为了顺利完成数据库结构的迁移,必须精确地将源数据库的数据类型映射到目标数据库中对应的类型上。 ### 三、已定义函数的差异 SQL Server与DB2在预定义函数的支持上也存在区别,这往往导致了在查询或存储过程编写...
DOM解析器将整个XML文档加载到内存中,形成一个树形结构,允许开发者通过节点遍历来访问和修改XML内容。这种方法适用于小型XML文件,但对于大型文件可能会消耗大量内存。 SAX解析器则采用事件驱动的方式,逐个读取...
如果XML数据岛包含多个相同的元素(如 `<name>` 或 `<sex>`),可以使用 `<TABLE>` 标签来显示所有实例,每个 `<member>` 对象将对应表格的一行: ```html <table datasrc="#xmldb" border="1"> <th>Name <th>...
总的来说,使用Xstream解析XML文件并存入MySQL数据库是一个常见的数据处理任务,它涉及XML解析、Java对象映射以及数据库操作等多个技术点。通过合理地组织代码,可以高效地完成这项工作,实现数据的无缝迁移和存储。
1. **对比不同执行计划**:分析多个执行计划可以帮助你找到最佳的查询路径。 2. **考虑索引**:根据DB2 Expln的建议,适时创建或调整索引,以提高查询速度。 3. **避免全表扫描**:尽量使用索引来减少对全表扫描的...
在数据导入过程中,DBImport工具可能需要解析XML或TXT文件,将其内容转换成数据库能理解的格式。同样,在导出数据时,它会将数据库中的记录转换为XML或TXT格式,方便在其他非数据库环境中使用。此外,该工具可能还...
- **多游标联合**:在多个数据库间执行复杂的关联查询。 - **应用场景**:多表关联查询、数据分析等。 #### 2. BerkeleyDB 环境 API - **2.1 概述** - **环境层的作用**:为数据库提供运行时环境,包括资源管理...
4. **配置数据源**:在某些情况下,你可能需要在`server.xml`中配置一个全局数据源,供多个应用共享。例如,如果你使用Apache DBCP,可以在`GlobalNamingResources`元素下添加以下配置: ```xml type="javax.sql...
` 这将返回表中的前10行。 #### 游标的使用 **游标**是用于处理结果集的工具,允许逐行读取数据。在DB2中,可以使用`DECLARE`、`OPEN`、`FETCH`、`CLOSE`等语句来控制游标。 #### 类似DECODE的转码操作 在DB2中,...