使用XMLBeans绑定XML-java数据

http://tech.ddvip.com   2007年09月02日    社区交流

内容摘要:XMLBeans提供了底层XML数据的对象视图,同时还能访问原始的XML信息集合。通过递增的解除封送xml数据和高效的访问XML 模式内置数据类型的方法,XMLBeans交付了较好的性能……

  xmlText方法用可选的xmlOptions对象控制它的行为。setSavePrettyPrint()方法要求使用空白符,以便方便阅读,而setSavePrettyPrintIndent(4)方法要求在嵌套的XML文档中首行缩进四的倍数个空白符。

  输出的结果是:

XML Instance Document is :
<Latlong Zipcode="91023">
  <Latitude>33.8792</Latitude>
  <Longitude>117.8974</Longitude>
</Latlong>

  性能优势

  与DOM的不同之处是,XMLBeans没有采用解除封送整个xml文档和为每个xml文档结点提供一个对象的方法。使用XMLBeans,只在需要时进行封送和解除封送,因此对于你从来没有查看过的代码,它们是不会被封送和解除封送的。这提高了XMLBeans解决方案的性能。

  XMLBeans也提供高效的xget版本的函数访问XML模式内置数据类型。

  验证

  分配给内置XMLBeans java类型的值将按照其表示的模式类型的规则进行验证。例如,如果将一个符合条件的名称分配给一个XmlQName数据类型时,如果该名称的前缀不能解析为任何URI,将会抛出XmlValueOutOfRange异常。

  当xml文档第一次被解析时,将根据模式定义验证其中包含的数据。更有意思的是,无论何时通过XMLBeans生成的java类处理xml文档时,XMLBeans系统将确保遵守模式约束条件。

  其他特性

  XMLBeans对象是可序列化的,因而,可以通过RMI边界传送,也能够很容易的从XML 字符流和字节流中提取,并保存回去。XMLBeans也具有配置功能,因而可以将XML名称映射到Java名称。这样将避免在XML的名称发生变化时重新编写Java代码。由于篇幅限制我们在此不做过多讨论。

  结束语

  XMLBeans 提出了底层XML数据的对象视图,同时还能访问原始的XML信息集合。通过递增的解除封送xml数据和高效的访问XML模式内置数据类型的方法,XMLBeans交付了较好的性能。下面两种特性几乎百分之百的支持XML 模式,并在操作数据期间定时验证XML数据,从而使XMLBeans非常适用于XML-Java 数据绑定。现在web services、BPEL、BPML、基于规则的XML数据转换引擎等实现,都用到了该数据绑定技术。

来源:Dev2Dev    作者:Hetal C. Shah    责编:豆豆技术应用

正在加载评论...