一、
JDOM
介绍
我们知道
DOM
是用于与平台和语言无关的方式表示
XML
文档的官方
W3C
标准,利用
DOM
和
SAX A <!---->PI
可以解析和处理
XML
文档。这里我们介绍的
JDOM
是基于树操作的纯
JAVA API
,应该说它提供的是一套用于解析、创建、处理和实现
XML
的解决方案。这些
API
比
DOM
和
SAX API
提供的方法更为直观,对于有
JAVA
经验的程序员将会发现
JDOM
非常容易掌握。
JDOM
处理
XML
的方式比
DOM
容易的多,并且它的功能比使用
SAX
更加强大。
JDOM
的内部逻辑结构基本上与
DOM
的相同,比如具有
Document
、
Element
、
Comment
等文档节点类型,其中每一个
JDOM
文档必须有一个
Document
节点,并且为节点树的根节点。该根节点可以有子节点或者叶子节点如
Comment
、
Text
等。
JDOM
文档中的每一个节点类型均对应格式良好的
XML
文当中的没一个元素。这也就为我们利用
JDOM
转换数据库到
XML
文档提供了可操作的依据。
JDOM
的优点:
由
JDOM
的文档声明我们将会很明显的看出应用
JDOM
的优势所在。
JDOM
文档声明如下“
JDOM
引用了
20/80
原则,即使用
20%
的精力解决
80%
的
JAVA/XML
问题”。
●
JDOM
是用
JAVA
开发并为
JAVA
提供服务的,它沿用了
JAVA
代码的规范和类库;
●
在众多编程语言中,
JAVA
是使用
XML
的优秀平台,
XML
又是
JAVA
应用的优秀数据表示方法。
JDOM API
是纯
JAVA API
对于
JAVA
开发人员来说更容易上手;
●
JDOM API
比
DOM
所提供的方法更为直观,同时简化了与
XML
的交互。比使用
DOM
更快。
org.jdom
是用于
JAVA API
操作的
JDOM
工具包。
在
org.jdom
中,提供了
Document
、
Element
、
Comment
、
DocType
、
Attribute
、
Text
等存
JAVA
类,这些类均是访问和操作
JDOM
文档所必须的。我们可以利用这些类创建、遍历、修改
JDOM
文档。
在
org.jdom.output
中,提供了
DOMOutputter
、
XMLOutputter
,用于处理
JDOM
树的
DOM
树形式、
XML
文档形式输出、打印等。
二、环境配置
在我的
WINDOWS2000
系统平台上采用
TOMCAT4.1.18
、
JDK1.4.0_02
作为开发和测试平台。
通过“我的电脑”的“高级”属性添加如下两个环境设置
CLASSPATH
设置为:“
.;c:\j2sdk1.4.0_02\lib\dt.jar;c:\j2sdk1.4.0_02\lib\tools.jar;
”。
PATH
设置为“
.;c:\j2sdk1.4.0_02\bin;
”。
SQL SERVER JDBC
驱动:
mssqlserver.jar
放入
TOMCAT
的
LIB
目录下。
三、获得与安装
JDOM
由于目前
JDOM
并没有包含在
SUN
的
JDK
中(我想不久的将来
JDOM
必然会成为
SUN JDK
的一部分),我们必须手工下载与设置
JDOM
的环境。
在
http://www.jdom.org
可以下载
JDOM
的最新版本。这里下载的是
JDOM beta8
。下载
jdom-b8.zip
后解压缩,
JDOM
的
jar
文件就是
build
目录下的文件
jdom.jar
,将上述文件拷贝到
J2SDK1.4.0_02
目录下的
jre/lib/ext
目录下。
四、利用
JDOM
实现
SQL SERVER
数据库到
XML
的转换
1
、数据库、表的创建
这里应用一个转换顾客信息的例子——“顾客基本信息”。我们是把数据放置于
MICROSOFT SQL SERVER 2000
数据库中,然后运用
JSP
和
JDOM
技术动态生成
XML
实例文档。
我们事先
Microsoft SQL Server
数据库
CUSTOM
中创建了一个数据表
--CUSTOM
,其数据结构如下表所示:
字段名
|
注释
|
类型
|
是否为空
|
Name
|
姓名
|
varchar(12)
|
NOT NULL
|
ID
|
ID
|
int
|
NOT NULL
|
Company
|
公司
|
varchar(30)
|
NOT NULL
|
Email
|
TEL
|
varchar(15)
|
NOT NULL
|
往数据库中输入以下几条记录:
Name
|
ID
|
Company
|
Email
|
刘氏
|
001
|
公司1
|
liu@yantai.com
|
蒋氏
|
002
|
公司2
|
jiang@yantai.net
|
2
、数据源设置
数据源(
ODBC Source
)实际上就是定义数据的来源。数据源的设置方法是:
[
开始
]-
〉
[
设置
]-
〉
[
控制面板
]-
〉
[
管理工具
]-
〉
[
数据源
(odbc)]-
〉
[System DSN]->[add]->[SQL Server]
,分别配置服务器名(
CUSTOM
所在服务器)、数据库名(
CUSTOM
)、数据源名称(此处定为
DB_CUSTOM
)、用户名(
lgz
)、用户口令(空),数据源就配置好了。
<!----> 3
、代码的编写
下面开始我们的编写
JSP
代码转换工作,代码将通过调用
JDOM
动态生成
XML
结构,然后借助
JDBC
访问
SQL SERVER
数据库 <!---->动态填充
XML
内容。
<%@page contentType="text/html;charset=GBK"%>
<HTML>
<HEAD>
<TITLE>用JDOM实现数据库到XML的转换</TITLE>
</HEAD>
<BODY>
<%@page import="org.jdom.*"%>
<%@page import="java.*"%>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://10.40.14.54:1433;DatabaseName=DB_CUSTOM";
//载入jdbc odbc的驱动程序
String user="lgz";
String password="lgz";
Connection conn= DriverManager.getConnection(url,user,password);
//连接数据库
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
//创建一个statement
String sql="select * from client";
//定义查询的SQL语句
ResultSet rs=stmt.executeQuery(sql);
//执行查询
Document document=new Document(new Element("联系人列表"));//创建文档
ResultSetMetaData rsmd = rs.getMetaData();
//获取字段名
int numberOfColumns = rsmd.getColumnCount(); //获取字段数
int i=0;
while(rs.next()){ //将查询结果取出
Element element0=new Element("联系人");
//创建元素 生成JDOM树
document.getRootElement().addContent(element0);
for (i=1; i<=numberOfColumns;i++)
{
String date=new String(rs.getString(i).getBytes("ISO-8859-1"),"gb2312"); //代码转换
Element element=new Element(rsmd.getColumnName(i)).setText(date);
element0.addContent(element);
}
}
rs.close();
//关闭结果集
stmt.close();
//关闭statement
conn.close();
//关闭连接
XMLOutputter outp = new XMLOutputter();
outp.output(document, new FileOutputStream("d:\\data.xml")); //输出XML文档
out.print("XML 文档生成完毕!");
%>
<a href="file:///d|/data.xml">点击打开产生的XML文档 </a>
</BODY>
</HTML>
|
4
、程序的运行
通过浏览器的
8080
端口运行该
JSP
,将产生预期的
xml
文件。
五、应用分析
XML
作为数据交换的标准,得到了越来越广泛的应用。这篇文章阐明了数据库到
XML
转换的基本方法,从而使各异构平台以及各种格式的数据进行数据交换成为可能。当我们能够把原始的数据转化为
XML
格式化的形式,就能够以丰富的
HTML
的格式表示出来。这里列举两个方面的应用:
1
、
XML
应用服务器:
XML
应用服务器实际上是支持
XML
的
Web
应用服务器,它们通常是模板驱动的,通过在一个剧本语言中嵌入使用
SQL
语句来提取数据并动态构建
XML
文档。
2
、
基于
XML
的桌面应用
我们知道通过
XSL
可以把相同的数据以不同的数据形式提交给终端客户,一个
XSL
文件描述了数据的显示方式,你可以把许多
XSL
和同一个
XML
文档相连来提供不同的基于
HTML
的表示,这样事实上,我们就可以建立基于
XML
的桌面应用程序
采用这种方法主要有两个优点,首先,你可以以平台和语言独立的方式来操作数据,其次,不需要编程你就可以实现对同样数据的不同的视图表示。
分享到:
相关推荐
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
MMC整流器技术解析:基于Matlab的双闭环控制策略与环流抑制性能研究,Matlab下的MMC整流器技术文档:18个子模块,双闭环控制稳定直流电压,环流抑制与最近电平逼近调制,优化桥臂电流波形,高效并网运行。,MMC整流器(Matlab),技术文档 1.MMC工作在整流侧,子模块个数N=18,直流侧电压Udc=25.2kV,交流侧电压6.6kV 2.控制器采用双闭环控制,外环控制直流电压,采用PI调节器,电流内环采用PI+前馈解耦; 3.环流抑制采用PI控制,能够抑制环流二倍频分量; 4.采用最近电平逼近调制(NLM), 5.均压排序:电容电压排序采用冒泡排序,判断桥臂电流方向确定投入切除; 结果: 1.输出的直流电压能够稳定在25.2kV; 2.有功功率,无功功率稳态时波形稳定,有功功率为3.2MW,无功稳定在0Var; 3.网侧电压电流波形均为对称的三相电压和三相电流波形,网侧电流THD=1.47%<2%,符合并网要求; 4.环流抑制后桥臂电流的波形得到改善,桥臂电流THD由9.57%降至1.93%,环流波形也可以看到得到抑制; 5.电容电压能够稳定变化 ,工作点关键词:MMC
Boost二级升压光伏并网结构的Simulink建模与MPPT最大功率点追踪:基于功率反馈的扰动观察法调整电压方向研究,Boost二级升压光伏并网结构的Simulink建模与MPPT最大功率点追踪:基于功率反馈的扰动观察法调整电压方向研究,Boost二级升压光伏并网结构,Simulink建模,MPPT最大功率点追踪,扰动观察法采用功率反馈方式,若ΔP>0,说明电压调整的方向正确,可以继续按原方向进行“干扰”;若ΔP<0,说明电压调整的方向错误,需要对“干扰”的方向进行改变。 ,Boost升压;光伏并网结构;Simulink建模;MPPT最大功率点追踪;扰动观察法;功率反馈;电压调整方向。,光伏并网结构中Boost升压MPPT控制策略的Simulink建模与功率反馈扰动观察法
STM32F103C8T6 USB寄存器开发详解(12)-键盘设备
科技活动人员数专指直接从事科技活动以及专门从事科技活动管理和为科技活动提供直接服务的人员数量
Matlab Simulink仿真探究Flyback反激式开关电源性能表现与优化策略,Matlab Simulink仿真探究Flyback反激式开关电源的工作机制,Matlab Simulimk仿真,Flyback反激式开关电源仿真 ,Matlab; Simulink仿真; Flyback反激式; 开关电源仿真,Matlab Simulink在Flyback反激式开关电源仿真中的应用
基于Comsol的埋地电缆电磁加热计算模型:深度解析温度场与电磁场分布学习资料与服务,COMSOL埋地电缆电磁加热计算模型:温度场与电磁场分布的解析与学习资源,comsol 埋地电缆电磁加热计算模型,可以得到埋地电缆温度场及电磁场分布,提供学习资料和服务, ,comsol;埋地电缆电磁加热计算模型;温度场分布;电磁场分布;学习资料;服务,Comsol埋地电缆电磁加热模型:温度场与电磁场分布学习资料及服务
1、文件内容:ibus-table-chinese-yong-1.4.6-3.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/ibus-table-chinese-yong-1.4.6-3.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、更多资源/技术支持:公众号禅静编程坊
基于51单片机protues仿真的汽车智能灯光控制系统设计(仿真图、源代码) 一、设计项目 根据本次设计的要求,设计出一款基于51单片机的自动切换远近光灯的设计。 技术条件与说明: 1. 设计硬件部分,中央处理器采用了STC89C51RC单片机; 2. 使用两个灯珠代表远近光灯,感光部分采用了光敏电阻,因为光敏电阻输出的是电压模拟信号,单片机不能直接处理模拟信号,所以经过ADC0832进行转化成数字信号; 3. 显示部分采用了LCD1602液晶,还增加按键部分电路,可以选择手自动切换远近光灯; 4. 用超声模块进行检测距离;
altermanager的企业微信告警服务
MyAgent测试版本在线下载
Comsol技术:可调BIC应用的二氧化钒VO2材料探索,Comsol模拟二氧化钒VO2的可调BIC特性研究,Comsol二氧化钒VO2可调BIC。 ,Comsol; 二氧化钒VO2; 可调BIC,Comsol二氧化钒VO2材料:可调BIC技术的关键应用
C++学生成绩管理系统源码
基于Matlab与Cplex的激励型需求响应模式:负荷转移与电价响应的差异化目标函数解析,基于Matlab与CPLEX的激励型需求响应负荷转移策略探索,激励型需求响应 matlab +cplex 激励型需求响应采用激励型需求响应方式对负荷进行转移,和电价响应模式不同,具体的目标函数如下 ,激励型需求响应; matlab + cplex; 负荷转移; 目标函数。,Matlab与Cplex结合的激励型需求响应模型及其负荷转移策略
scratch介绍(scratch说明).zip
内容概要:本文全面介绍了深度学习模型的概念、工作机制和发展历程,详细探讨了神经网络的构建和训练过程,包括反向传播算法和梯度下降方法。文中还列举了深度学习在图像识别、自然语言处理、医疗和金融等多个领域的应用实例,并讨论了当前面临的挑战,如数据依赖、计算资源需求、可解释性和对抗攻击等问题。最后,文章展望了未来的发展趋势,如与量子计算和区块链的融合,以及在更多领域的应用前景。 适合人群:对该领域有兴趣的技术人员、研究人员和学者,尤其适合那些希望深入了解深度学习原理和技术细节的读者。 使用场景及目标:①理解深度学习模型的基本原理和结构;②了解深度学习模型的具体应用案例;③掌握应对当前技术挑战的方向。 阅读建议:文章内容详尽丰富,读者应在阅读过程中注意理解各个关键技术的概念和原理,尤其是神经网络的构成及训练过程。同时也建议对比不同模型的特点及其在具体应用中的表现。
该文档提供了一个关于供应链管理系统开发的详细指南,重点介绍了项目安排、技术实现和框架搭建的相关内容。 文档分为以下几个关键部分: 项目安排:主要步骤包括搭建框架(1天),基础数据模块和权限管理(4天),以及应收应付和销售管理(5天)。 供应链概念:供应链系统的核心流程是通过采购商品放入仓库,并在销售时从仓库提取商品,涉及三个主要订单:采购订单、销售订单和调拨订单。 大数据的应用:介绍了数据挖掘、ETL(数据抽取)和BI(商业智能)在供应链管理中的应用。 技术实现:讲述了DAO(数据访问对象)的重用、服务层的重用、以及前端JS的继承机制、jQuery插件开发等技术细节。 系统框架搭建:包括Maven环境的配置、Web工程的创建、持久化类和映射文件的编写,以及Spring配置文件的实现。 DAO的需求和功能:供应链管理系统的各个模块都涉及分页查询、条件查询、删除、增加、修改操作等需求。 泛型的应用:通过示例说明了在Java语言中如何使用泛型来实现模块化和可扩展性。 文档非常技术导向,适合开发人员参考,用于构建供应链管理系统的架构和功能模块。
这份长达104页的手册由清华大学新闻与传播学院新媒体研究中心元宇宙文化实验室的余梦珑博士后及其团队精心编撰,内容详尽,覆盖了从基础概念、技术原理到实战案例的全方位指导。它不仅适合初学者快速了解DeepSeek的基本操作,也为有经验的用户提供了高级技巧和优化策略。
主题说明: 1、将mxtheme目录放置根目录 | 将mxpro目录放置template文件夹中 2、苹果cms后台-系统-网站参数配置-网站模板-选择mxpro 模板目录填写html 3、网站模板选择好之后一定要先访问前台,然后再进入后台设置 4、主题后台地址: MXTU MAX图图主题,/admin.php/admin/mxpro/mxproset admin.php改成你登录后台的xxx.php 5、首页幻灯片设置视频推荐9,自行后台设置 6、追剧周表在视频数据中,节目周期添加周一至周日自行添加,格式:一,二,三,四,五,六,日
运行GUI版本,可二开