从XML到Java代码的数据绑定之二 从XML数据成立类[Java编程]
本文“从XML到Java代码的数据绑定之二 从XML数据成立类[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
数据绑定系列的第二篇是若何从 XML 数据限制中生成一个 Java 语言. 本文通过完好的代码展示了若何生成类和代码,并供应了若何定制您自己版本的倡议. 还没有看过第一篇吗?第一篇, "对象,无处不在的对象", 注释了数据绑定是若何将 XML 和 Java 语言对象互为转换.它对比了数据绑定和别的在 Java 程序中处理 XML 的办法, 并介绍了一个 XML 配置文档示例.第一部份也介绍了利用 XML Schema 来约束数据.
在深化 Java 程序和 XML 代码之前,先快速回想一下本系列第一部份所打下的底子.
在第一部份中,我们知道只要可以标识文档的一组约束,便可以将文档转换成 Java 对象.那些约束为数据供应了接口.如 Web 服务配置文档示例中所示,XML 文档该当作为现有 Java 类的一个实例,并且从数据约束生成那个类.最后,会看到表示样本 XML 文档约束的 XML schema.
假如对细节还有疑问,请回想 第一篇文章.
打造底子
目前,可以着手从 XML schema 成立 Java 类.该类必须精确表示数据约束,并供应 Java 利用程序将利用的简单读办法和写办法.开始之前,让我们先回想清单 1,查看为 WebServiceConfiguration 文档定义的 XML schema.
清单 1. 表示 Web 容器配置文档数据接口的 XML schema
<?xml version="1.0"?>
<schema targetNamespace="http://www.enhydra.org"
xmlns="http://www.w3.org/1999/xmlSchema"
xmlns:enhydra="http://www.enhydra.org"
>
<complexType name="ServiceConfiguration">
<attribute name="name" type="string" />
<attribute name="version" type="float" />
</complexType>
<element name="serviceConfiguration" type="ServiceConfiguration" />
<complexType name="WebServiceConfiguration"
baseType="ServiceConfiguration"
derivedBy="extension">
<element name="port">
<complexType>
<attribute name="protocol" type="string" />
<attribute name="number" type="integer" />
<attribute name="protected" type="string" />
</complexType>
</element>
<element name="document">
<complexType>
<attribute name="root" type="string" />
<attribute name="index" type="string" />
<attribute name="error" type="string" />
</complexType>
</element>
</complexType>
<element name="webServiceConfiguration" type="WebServiceConfiguration" />
</schema>
生成代码
开始生成 Java 代码之前,首先必须肯定核心类的名称.将利用 org.enhydra.xml.binding 包中的 SchemaMapper,它是 Enhydra 利用服务器实用程序类调集的一部份.还可以将任何必须的支持类放到这个包中.
除了类名称以外,还必须肯定用来读取和成立 XML 的 Java API.如上一篇文章中所谈论过的,三种主要挑选是 SAX、DOM 和 JDOM.由于 SAX 仅仅实用于读取 XML 文档,因此它不合适成立 XML.由于在打包阶段中要将 Java 对象转换为 XML 表示,因此在此阶段中需求成立 XML.这就将挑选的范围缩小到 DOM 和 JDOM.在这两种挑选都可用的情形下,本例中我挑选利用 JDOM API,仅为了显示其功效性(并不但仅因为我是它的合著者之一!).
最后,必须指出若何将 XML schema 供应应 SchemaMapper 类.普通,可以假定类的生成是脱机完成的(通过静态 main 办法).仅通过使 main 办法调用非静态办法,还可以从运行时环境中利用类.做了这些决意后,便可以开始勾勒类的框架了.
以上是“从XML到Java代码的数据绑定之二 从XML数据成立类[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |