频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

XMLBEANS 2.0 —— 一位JAVA开发人员的视点(1)

作者: 出处:dev2dev  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2006-07-25 10:53
关 键 词:XMLBEANS
阅读提示:随着面向服务架构(SOA)的出现,大部分用户不得不在应用程序中使用XML。在开发过程中,用户可能已经注意到存在多种可以分析和处理XML的模型,包括开源和专有的。所有这些模型都存在一定的优缺点。选择不适合业务需求的模型可能会导致开发时间延长并浪费资源。Apache XMLBeans是一个非常有价值的工具,它提供一种在Java中使用XML的简便方法。在本文中,我们将介绍XMLBeans以及XMLBeans 2.0中的一些有用特性。

随着面向服务架构(SOA)的出现,大部分用户不得不在应用程序中使用XML。在开发过程中,用户可能已经注意到存在多种可以分析和处理XML的模型,包括开源和专有的。所有这些模型都存在一定的优缺点。选择不适合业务需求的模型可能会导致开发时间延长并浪费资源。Apache XMLBeans是一个非常有价值的工具,它提供一种在Java中使用XML的简便方法。在本文中,我们将介绍XMLBeans以及XMLBeans 2.0中的一些有用特性。

XMLBeans简介

W3C XML Schema是一个XML文档,该文档定义一组其他XML文档必须遵守才合法的规则。与早期XML模式语言如文档类型定义(document type definition,DTD)或简单对象XML(simple object XML,SOX)相比,W3C XML Schema具有许多优点,它还提供了可供用户以多种方式使用的丰富特性集。

XMLBeans是完全与模式兼容的XML-Java绑定工具,使用这个工具可以以对Java友好的方式访问XML的全部特性。XMLBean解决方案是独一无二的,因为它提供XML数据的双重视图。XMLBeans维护一个信息和结构均未更改的原始XML文档,并提供一个基于Java的XML数据视图。

现在我们通过显示一些代码示例来演示XMLBeans 2.0中的一些特性。在每个示例中,我们都会提供模式以及一些操纵模式的XMLBean表示的Java代码。模式和Java示例都可供下载。

下面我们来看下面的模式片断:

 1 <xs:element name="order">
2   <xs:complexType>
3     <xs:sequence>
4       <xs:element name="orderNo" type="xs:string"/>
5       <xs:element name="item" nillable="true"
6          maxOccurs="unbounded" type="tns:itemType"/>
7       <xs:element name="address" type="tns:addressType"/>
8       <xs:element name="quantity" type="tns:quantityType"/>
10     </xs:sequence>
11   </xs:complexType>
12 </xs:element>

要生成XMLBeans类,需要对模式进行编译。使用scomp实用工具可以很轻松地完成这个任务,因为它可以为所有简单和复杂的类型生成接口。所有类和接口的包名均派生自模式中指定的targetNamespace值。

现在我们看看如何生成实例文档,如何针对模式检查文档的有效性,以及如何将实例保存到文件系统。

下面所生成的OrderDocument接口是一个XMLBeans为任意全局元素或类型创建的特殊“文档”类型示例。

AddressType和ItemType是为全局复杂类型addressType和sizeType创建的接口:

 1 OrderDocument orderDoc = OrderDocument.Factory.newInstance();
2 Order order = orderDoc.addNewOrder();
3 order.setOrderNo("ORD1234");
4 order.setQuantity(4);
5
6 AddressType aType = order.addNewAddress();
7 aType.setCity("Kirkland");
8
9 ItemType iType = order.addNewItem();
10 iType.setId("ITEM003");
11
12 boolean isValid = orderDoc.validate(xopt);
13
14 orderDoc.save(new File("sample.xml"),xopt);


共11页: 1 [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] 下一页
【内容导航】
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Ajax的应用开发 (查看118447次)
·SOA 面向服务架构 (查看60186次)
·AJAX技术汇总 (查看27661次)
·Ajax技术简介 (查看19629次)
·SOA概览 (查看16582次)
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有