从XML到Java代码的数据绑定之三 从文本到字节码[Java编程]
本文“从XML到Java代码的数据绑定之三 从文本到字节码[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
本数据绑定系列的第三部份演示了若何利用“JSR-031:数据绑定,Sun 数据绑定标准申请”中指定的办法,将 XML 元素和属性转换成 Java 对象.这部份主要报告从数据的 XML 表示移到利用程序代码易于利用的 Java 实例.第三部份论及通过将 XML 文档中的嵌套元素撤消编构成 Java 对象、测试和用某些实际示例来利用新的工具.
本系列的目标是演示若何将 XML 元素转换成 Java 对象,然后可以利用 Java 语言 accessor 和 mutator 办法直接处理 XML 数据. 第一部份对比了数据绑定和 Java 利用程序中别的处理 XML 数据的办法,解析了计划抉择,还定义了示例 Web 服务配置文档的 XML 情势. 第二部份阐明了若何从 XML 情势生成接口和实现,以便符合 XML 情势的 XML 文档可以转换成这些生成类的实例.
在第三部份(共四部份)中,将完成底子知识的讲授,并且描写了若何尽心计划代码以履行撤消编组,撤消编组将完成将 XML 转换成 Java 对象的历程.履行了撤消编组后,可以利用测试类(已包含在内)来查抄能否全部部份都已精确组合在一同.本系列的每一部份都成立在别的部份的底子之上,所以假如您还没有看过第一和第二部份,您大概会看不懂本文中的一些描写.假如要回想专门的词汇表,请参阅 术语注释侧栏.
利用第一部份中为 WebServiceConfiguration 定义的 XML 情势(请参阅 更新版本 )和第二部份中的接口,行将成立为配置数据的特定实例供应数据的 XML 文档.任何符合情势的 XML 文档都可以编构成 Java 对象.这些对象应当是利用 SchemaMapper 类生成的类的实例.当然,终究后果就是数据绑定.
制作 XML 实例文档
成立符合情势的 XML 文档 -- 普通叫做 XML 实例-- 很简单.文档必须只供应与情势中定义的约束相匹配的数据值,如清单 1 所示.
清单 1. 符合示例 XML 情势的 XML 实例文档
<?xml version="1.0"?>
<webServiceConfiguration xmlns="http://www.enhydra.org"
牋牋牋牋牋牋牋牋牋牋牋牋 xmlns:xsi="http://www.w3.org/1999/XMLSchema/instance"
牋牋牋牋牋牋牋牋牋牋牋牋 xsi:schemaLocation="http://www.enhydra.org
牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 configuration.xsd"
牋牋牋牋牋牋牋牋牋牋牋牋 version="1.1"
牋牋牋牋牋牋牋牋牋牋牋牋 name="Unsecured Web Listener"
>
_<port number="80"
牋牋牋_protocol="http"
牋牋牋_protectedPort="false"
_/>
_<document root="/usr/local/enhydra/html"
牋牋牋牋牋_index="*.html,*.xml"
牋牋牋牋牋_error="error.html"
_/>
</webServiceConfiguration>
清单 1 中的示例完好地显示了 WebServiceConfiguration 的实例.实例文档包含了两个名称空间声明.第一个是缺省名称空间声明,请参考 http://www.enhydra.org.这表示全部没有前缀的元素会分配到此名称空间.固然,在本示例中不需求声明缺省名称空间,它还赐与了文档一些身份.这个缺省名称空间有助于将该文档与别的有类似或平等元素名称的 XML 文档辨别出来.
定义的另一个名称空间分配给 xsi 前缀,所以带该前缀的全部元素都分配到此名称空间.它 (http://www.w3.org/1999/XMLSchema/instance) 引用“XML 情势实例标准”的 URI.该标准顺次定义了 XML 文档若何引用文档符合的 XML 情势.最后, schemaLocation 属性引用 XML 情势.该属性的第一个变量是遭到约束的名称空间(示例缺省名称空间,它包含文档中的每个元素).第二个变量,用空格与第一个变量脱离,引用 XML 情势的实际位置.本例中,情势 configuration.xsd 是一个本地文件,它与文档在同一个目录中.也可以通过利用 URL 来引用网络上肆意位置的情势.
在缺省名称空间中,附加属性(因为它们没有前缀)定义了版本 (1.1) 和名称 (Unsecured Web Listener).
接着,声明了情势中的 Port 对象,并定义了它的数据:端口号为 80,协议是 http.精确撤消编构成 Java 代码后,该文档就变成了 WebServiceConfigurationImpl类的实例.然后,Java 代码可以利用本系列第二部份中计划的接口 WebServiceConfiguration,以利用基本 XML 文档中的数据.(请注意,大概会在利用程序中履行考证,如 情势考证侧栏中所概述的.)
以上是“从XML到Java代码的数据绑定之三 从文本到字节码[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |