从XML到Java代码的数据绑定之三 从文本到字节码 - 编程入门网
rshaller 类,则需要在将 XML 绑定到 Java 的完整过程上递归。一旦读取了所有属性并将它们分配给已创建的 Java 实例,就需要取出每个嵌套元素,然后再次执行取消编组。
通过迭代所提供根的子元素,来完成 XML 文档的处理,如清单 5 所示。这些子元素中的每一个都将成为另一个对象,这就表示必须以该元素作为根元素重新开始取消编组过程。 清单 5. 用递归处理嵌套元素
注:您也许注意到我在清单 5 中的取消编组中做了一个假设,即成员变量总是由 XML 属性表示,嵌套对象由 XML 元素表示。那么,这些元素可能有自己的属性和嵌套元素。我的假设是唯一设置的限制,并且是合理的。这意味着取消编组过程不必查看引用的 XML 模式并确定特性是由元素表示,还是由属性表示。这也会使编组过程变得更简单,将在本系列的下一篇文章中出现。如果所有这一切对您没有难度,那么只使用属性作为变量,元素作为对象,不必考虑嵌套和递归。 清单 5 中的代码看来很像上一段代码,其主要区别是用红色强调的几行。这段代码通过取消编组嵌套元素来获取参数,而不是使用 DataMapping 辅助类将文本值转换成 Java 数据类型。然后,返回的对象提供给适当的 mutator 方法(例如, setPort ),迭代继续进行。一旦递归从底层到顶层解开,则创建的 Java 对象将返回到调用应用程序。很快吗!数据绑定完成了。 通过使用运行的 unmarshaller 类,实际上,它最终使用了数据绑定工具。通过使用 XML 模式、XML 文档和一些简单的 Java 代码,访问 XML 就象访问 JavaBean 一样简单。 生成类 首先,确保已经从 XML 模式生成了 Java 类,如清单 6 所示。 清单 6. 从示例模式生成 Java 类
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |