环境:
jdk1.5.0_12
xmlbeans-2.2.0
简介
XMLBeans是Bea公司的一个项目,用于访问和处理数据和文档。使用XMLBeans可以让您用面向对象的观点来对待和处理xml数据和文档,同时又可以忠实于该xml数据对应的xml结构和schema。这里简单的介绍了XMLBeans,并且给出了一个简单的例子。 XMLBeans来自于Bea,是使用java技术访问和处理XML数据和文档技术的一次突破性进展。第一次,开发者可以用自己熟悉的、方便的、面向对象的视图来看待XML数据,同时又可以访问该数据对应的结构和schema。
XMLBeans 面临着传统解析和绑定技术的竞争,如 DOM、SAX、JAXB 和 Castor,但 XMLBeans 有一些独到之处。它们的比较如下:
- DOM 在内容中生成整个文档的树。如果文档非常大,DOM 就会变得对内存非常敏感,并会显著降低性能。通过增量解组(incremental unmarshalling)并提供 xget 方法来访问内置的模式数据类型,XMLBeans 取得了较好的性能。
- 与 DOM 相比,SAX 对内存要求不高,但是 SAX 要求开发人员为事件处理程序编写回调方法,而 XMLBeans 则不需要。
- 与 XMLBeans 类似,JAXB 和 Castor 也都是 XML/Java 绑定技术,但它们都没有提供百分之百的模式支持。XMLBeans 最大的优势之一是几乎百分之百的支持 XML Schema。此外,XMLBeans 还能够访问完整的 XML Infoset,对于强调元素顺序或者注释的应用程序,这一点特别有用。
- XMLBeans 还提供了解析 XML 实例的即时验证。
- XMLBeans 包括一些创新的特性,如 XML 游标和对 XQuery 的支持。如果开发人员需要处理复杂的 XML 模式和需要更多的本机支持(比如访问完整的 XML Infoset),那么 XMLBeans 是无可替代的。
知道了xml相当于会浏览数据库的表
知道了xpath相当于知道了sql
知道了schema相当于知道建表了
一个简单的例子:
<?xml version="1.0" encoding="GBK"?>
<circle xmlns:an="http://www.an.net/shape" name="demoCircle">
<center>
<x>155</x>
<y>231</y>
</center>
<radius>15.59</radius>
</circle>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:an="http://www.an.net/shape"
targetNamespace="http://www.an.net/shape" elementFormDefault="qualified">
<xs:element name="circle">
<xs:complexType>
<xs:sequence>
<xs:element name="center" type="an:PointType"/>
<xs:element name="radius" type="xs:double"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:complexType name="PointType">
<xs:sequence>
<xs:element name="x" type="xs:nonPositiveInteger"/>
<xs:element name="y" type="xs:nonPositiveInteger"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
编译成jar包,命令类似下面:
D:\Apache\xmlbeans-2.2.0\bin\scomp -out myshape.jar myshape.xsd
import net.an.shape.CircleDocument;
import net.an.shape.PointType;
import java.io.File;
public class MyShapeTest {
public static void main(String[] args) throws Exception {
File input = new File("myshape.xml");
CircleDocument circleDoc = CircleDocument.Factory.parse(input);
CircleDocument.Circle circle = circleDoc.getCircle();
String name = circle.getName();
double radius = circle.getRadius();
PointType center = circle.getCenter();
System.out.printf("circle: %s, certer: x=%d y=%d, radius=%.3f\n",
name,center.getX(),center.getY(),radius);
}
}
输出如下:
circle: demoCircle, certer: x=155 y=231, radius=15.590
Press any key to continue...
总结
XMLBeans是Bea公司的一个公开源代码项目,以Schema为基础建立的、访问xml的一种解决方法,提供了访问和处理xml数据和文档时既可以完全的访问xml的内容、又不丢失xml的schema信息的强大功能。使用XMLBeans可以让您用面向对象的观点来对待和处理xml数据和文档,同时又可以忠实于该xml数据对应的xml结构和schema。
分享到:
相关推荐
XMLBEANS简化Java对XML编程的应用研究,刘永环,,XMLBeans是把java类和xml 文档实例进行绑定的一种技术。XMLBean提供了很多种方法操纵XML,其中主要包括JavaBeans 、XML Cursor、XQuery。本文首先��
本文档将为读者介绍 XmlBeans 的使用简介,包括 XmlSchema 的制作相关知识,以及如何使用 XmlBeans 工具在 Java 中轻松读写 XML。 一、XmlSchema 简介 XmlSchema 是一种基于 XML 的架构定义语言,用于定义 XML ...
3. **xbean.jar**:这是XMLBeans的核心库,它实现了XML Schema到Java类的映射,以及对XML数据的操作。XBean提供了API和工具,可以将XML Schema编译成Java代码,使得程序可以直接操作XML文档的结构。 4. **xbean_...
XMLBeans的使用极大地简化了XML数据的处理,特别是在大型项目中,如Web 2.0应用,如描述中提到的s2(Struts 2)、s2(可能是另一个框架的缩写)和h3(可能是Hibernate 3)的场景。 XMLBeans的工作原理基于一种称为...
XMLBeans提供的Api,如XmlObject、XmlCursor和SchemaType,分别提供了对XML实例的高级访问、低级别操作和模式元数据的访问,简化了XML在Java应用中的使用。 使用XMLBeans有以下几个显著优点: 1. **减少重复工作**...
这样,我们就可以像操作普通的Java对象一样来处理XML数据,大大简化了XML文档的处理流程。 在“XMLBeans处理XML数据和文档入门”中,初学者会了解到如何创建和加载XML Schema,以及如何基于Schema生成Java类。一旦...
通过使用这些技术,开发人员可以将复杂的XML文档转换为易于理解和操作的Java对象,大大简化了XML的处理流程。 #### 三、JAXB JAXB(Java Architecture for XML Binding)是Sun Microsystems(现已被Oracle收购)...
综上所述,XMLBeans是一个强大的工具,它通过将XML Schema转换为Java类,简化了XML数据的处理。然而,理解和有效地利用XMLBeans需要对XML Schema和Java编程有深入的理解。在实际项目中,根据具体需求选择合适的XML...
这样,开发者可以像操作普通的Java对象一样操作XML数据,无需直接与DOM或SAX等底层API打交道,大大简化了XML处理的复杂性。 在2.4.0版本中,XMLBeans引入了一些关键特性: 1. **代码生成**:XMLBeans提供了命令行...
这个库的核心功能是将XML Schema(XSD)转换为Java类,允许开发者通过对象模型与XML数据进行交互,从而简化XML在Java应用程序中的使用。在本案例中,"org.apache.xmlbeans.jar" 是XMLBeans库的实现,它是Java开发中...
XMLBeans的核心理念是基于XML Schema生成Java类,这些类可以像操作普通Java对象一样来操作XML数据,极大地简化了XML处理的复杂性。 XMLBeans 2.6.0的关键特性包括: 1. **XML Schema支持**:XMLBeans能够根据XML ...
在使用XMLBeans 2.0时,开发者需要注意它可能不包含最新的XML Schema特性或性能改进,因此对于新项目,可能会考虑使用更新的XML处理库。然而,对于那些依赖XMLBeans 2.0的旧项目,了解并熟练掌握它的特性和用法至关...
从标题和描述来看,这似乎是一个个人创建的、基于XMLBeans的实用工具,用于简化XML操作。 XMLBeans的工作原理是通过编译XML Schema(XSD)文件来生成对应的Java类,这些Java类可以直接被Java程序使用,从而实现了...
无论是处理XML文档,还是与XML Schema相关的数据操作,XMLBeans都能提供方便的API和工具支持。通过深入学习和熟练掌握XMLBeans,开发者可以提升XML处理能力,更轻松地应对XML在实际项目中的各种挑战。
总的来说,XMLBeans是一个强大的工具,它简化了XML处理,提高了开发效率,并且提供了类型安全的接口,适合那些需要频繁处理XML数据的Java应用。但同时,由于其基于XML Schema的特性,对于不需要严格类型检查或者对...
- **XML配置文件**:处理XML配置文件,如Spring框架的配置文件,XMLBeans能简化操作。 6. **集成与部署** - **Maven依赖**:如果项目使用Maven构建,可以通过添加XMLBeans的Maven依赖来引入库。 - **JAR包导入**...
与其他XML处理技术如DOM、SAX、StAX相比,XMLBeans提供了一种面向对象的方式来处理XML,简化了开发流程,并提供了更好的性能保障。然而,如果处理的XML文档非常大,或者需要高度定制的解析逻辑,可能需要权衡其内存...
XMLBeans 是一种高级的 XML-Java 绑定技术,它使得开发者可以像操作 JavaBean 一样操作 XML 结构。这项技术极大地简化了面向服务架构(SOA)的应用程序开发,减少了开发和测试的时间,提高了服务交付的敏捷性。...
XMLBeans的工作原理是将XML Schema转换为Java类,这些类可以直接被Java程序使用,从而简化了XML的处理。在处理Excel的XSSF工作簿时,XMLBeans可以将Excel的XML结构映射到相应的Java对象,使得对Excel数据的操作变得...
【标题】"maven+svn+XMLBeans"的实践指南 在软件开发中,整合不同的工具和技术可以帮助我们更高效地管理项目。...这个过程中,Maven负责构建流程,SVN保证代码版本管理,而XMLBeans则简化了XML数据的处理。