2022年2022年利用XMLBean轻轻松松读写XML-入门教程 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年2022年利用XMLBean轻轻松松读写XML-入门教程 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年利用XMLBean轻轻松松读写XML-入门教程 .pdf(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、利用 XMLBean轻轻松松读写XML 一、关于 XML解析XML在 Java应用程序里变得越来越重要, 广泛应用于数据存储和交换. 比如我们常见的配置文件 ,都是以 XML方式存储的 . XML还应用于 Java Message Service 和 Web Services等技术作为数据交换 . 因此,正确读写 XML文档是 XML应用的基础 . Java提供了 SAX和 DOM 两种方式用于解析 XML,但即便如此 ,要读写一个稍微复杂的 XML,也不是一件容易的事 . 二、XMLBean简介Hibernate 已经成为目前流行的面向Java环境的对象 /关系数据库映射工具 . 在 Hib
2、ernate 等对象/关系数据库映射工具出现之前,对数据库的操作是通过 JDBC来实现的 ,对数据库的任何操作 ,开发人员都要自己写SQL语句来实现 . 对象/关系数据库映射工具出现后,对数据库的操作转成对JavaBean的操作 ,极大方便了数据库开发 . 所以如果有一个类似的工具能够实现将对 XML的读写转成对 JavaBean的操作,将会简化 XML的读写 ,即使对 XML 不熟悉的开发人员也能方便地读写XML. 这个工具就是 XMLBean. 三、准备 XMLBean和 XML文档XMLBean是 Apache的一个开源项目 ,可以从 http:/www.apache.org 下载, 最
3、新的版本是 2.0. 解压后目录如下 : xmlbean2.0.0 +-bin +-docs +-lib +-samples +-schemas 另外还要准备一个XML 文档(customers.xml),在本文的例子里 ,我们将对这个文档进行读写操作 . 文档源码如下 : 1femaleJessicaLim 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 12 页 - - - - - - - - - 1234567350106 #25-1SHINSAYAMA 2-CHO
4、ME Ms Danielle350107 #167 NORTH TOWER HARBOUR CITY 2male DavidBill808182 319087 1033 WS St.Tima RoadMr William672993 1033 WS St.Tima Road这是一个客户的数据模型,每个客户都有客户编号(ID),姓名,性别(gender),电话号码 (phoneNumber)和地址 ,其中地址有两个 : 首要地址 (PrimaryAddress) 和帐单地址(BillingAddress), 每个地址有邮编 ,地址 1,和地址 2 组成.其中帐单地址还有收件人(receiver)
5、. 此外,还要准备一个配置文件 (文件名 customer.xsdconfig), 这个文件的作用我后面会讲 ,它的内容如下 : 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 12 页 - - - - - - - - - sample.xmlbean四、XMLBean使用步骤和其他面向 Java环境的对象 /关系数据库映射工具的使用步骤一样, 在正式使用 XMLBean前,我们要作两个准备 . 1. 生成 XML Schema文件什么是 XML Schema文件? 正常
6、情况下 ,每个 XML文件都有一个 Schema文件, XML Schema 文件是一个 XML的约束文件 ,它定义了 XML文件的结构和元素 . 以及对元素和结构的约束. 通俗地讲 ,如果说XML 文件是数据库里的记录, 那么 Schema就是表结构定义 . 为什么需要这个文件 ? XMLBean需要通过这个文件知道一个XML文件的结构以及约束 ,比如数据类型等 . 利用这个 Schema文件,XMLBean将会产生一系列相关的Java Classes来实现对 XML 的操作 . 而作为开发人员 ,则是利用XMLBean产生的 Java Classes 来完成对 XML的操作而不需要 SAX
7、或 DOM. 怎样产生这个 Schema文件呢? 如果对于熟悉 XML的开发人员 ,可以自己来写这个 Schema 文件,对于不熟悉XML 的开发人员 ,可以通过一些工具来完成 . 比较有名的如XMLSPY和 Stylus Studio 都可以通过XML 文件来生成Schema 文件. 加入我们已经生成这个Schema文件(customer.xsd): 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 12 页 - - - - - - - - - 2. 利用 scomp来生
8、成 Java Classes scomp 是 XMLBean提供的一个编译工具 ,它在 bin 的目录下 . 通过这个工具 ,我们可以将以上的Schema文件生成 Java Classes. scomp的语法如下 :- scomp options dirs* schemaFile.xsd* service.wsdl* config.xsdconfig* 主要参数说明 : -src dir - 生成的 Java Classes 存放目录-srconly - 不编译 Java Classes,不产生 Jar文件名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
9、 - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 12 页 - - - - - - - - - -out jarFileName - 生成的 Jar文件,缺省是 xmltypes.jar -compiler - Java编译器的路径 ,即 Javac的位置schemaFile.xsd - XML Schema 文件位置config.xsdconfig - xsdconfig 文件的位置 , 这个文件主要用来制定生成的Java Class 的 一 些 文 件 名 规 则 和Package 的 名 称 ,在 本 文 ,package 是sample.xmlbean
10、 在本文 ,我是这样运行的 : scomp -src buildsrc -out buildcustomerXmlBean.jar schemacustomer.xsd -compiler C:jdk142_04injavac customer.xsdconfig 这个命令行的意思是告诉scomp 生成 customerXmlBean.jar, 放在 build 目录下,同时生成源代码放在buildsrc 下, Schema文件是 customer.xsd,xsdconfig文件是 customer.xsdconfig. 其实, 生成的 Java源代码没有多大作用 ,我们要的是 jar 文件.
11、我们先看一下 buildsrcsamplexmlbean下生成的 Classes. CustomersDocument.java - 整个 XML文档的 Java Class 映射CustomerType.java - 节点 sustomer 的映射AddressType.java - 节点 address的映射BillingAddressType.java - 节点 billingAddress的映射PrimaryAddressType.java - 节点 primaryAddress的映射好了,到此我们所有的准备工作已经完成了. 下面就开始进入重点:利用刚才生成的 jar 文件读写 XML
12、. 五、利用 XMLBean读 XML文件新建一个 Java Project,将 XMLBean2.0.0lib 下的 Jar 文件和刚才我们生成的customerXmlBean.jar加入到 Project 的 ClassPath. 新建一个 Java Class: CustomerXMLBean. 源码如下 : package com.sample.reader; import java.io.File; import sample.xmlbean.*; import mons.beanutils.BeanUtils; import org.apache.xmlbeans.XmlOptio
13、ns; publicclass CustomerXMLBean 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 12 页 - - - - - - - - - private String filename = null; public CustomerXMLBean(String filename) super(); this. filename = filename; publicvoid customerReader() try File xmlFile = new
14、File(filename); CustomersDocument doc = CustomersDocument.Factory.parse(xmlFile); CustomerType customers = doc.getCustomers().getCustomerArray(); for ( int i = 0; i customers.length; i+) CustomerType customer = customersi; println(Customer# + i); println(Customer ID: + customer.getId(); println(Firs
15、t name: + customer.getFirstname(); println(Last name: + customer.getLastname(); println(Gender: + customer.getGender(); println(PhoneNumber: + customer.getPhoneNumber(); / Primary addressPrimaryAddressType primaryAddress = customer.getAddress().getPrimaryAddress(); println(PrimaryAddress:); println(
16、PostalCode:+ primaryAddress.getPostalCode(); println(AddressLine1: + primaryAddress.getAddressLine1(); println(AddressLine2: + primaryAddress.getAddressLine2(); / Billing addressBillingAddressType billingAddress = customer.getAddress().getBillingAddress(); println(BillingAddress:); println(Receiver:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年利用XMLBean轻轻松松读写XML-入门教程 2022 年利 XMLBean 轻轻松松 读写 XML 入门教程
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内