快速业务通道

从XML到Java代码的数据绑定之四 从无用的字符到有用的代码段 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
uot;Name: " + config.getName()); System.out.println("Version: " + config.getVersion()); System.out.println("Port Number: " + config.getPort().getNumber()); System.out.println("Port Protocol: " + config.getPort().getProtocol()); System.out.println("\n\n......... End of Unmarshaller test ............\n"); System.out.println("\n\n......... Start of Marshaller test ............\n\n"); Marshaller.marshall(o, System.out); System.out.println("\n\n......... End of Unmarshaller test ............\n"); } catch (Exception e) { e.printStackTrace(); } } }

从XML到Java代码的数据绑定之四 从无用的字符到有用的代码段(4)

时间:2010-12-02

新的代码以突出显示的字体显示(还有自上一篇文章后添加到测试类的一些有用的调试消息)。新代码的第一段读取第三部分中涵盖的 XML 文档,创建该文档的 Java 表示,并打印出关于已解包数据的信息。然后,将 Java 对象打包回 XML,并将其结果放到系统的 OutputStream,当然输出到屏幕上。运行 TestMapper 程序时,其输出类似于清单 5。

清单 5. 最终结果 $ (/projects/dev/mapper:bmclaugh)> java TestMapper xml/configuration.xsd Starting unmarshalling... ......... Start of Unmarshaller test ............ Object class: WebServiceConfigurationImpl Casting to WebServiceConfiguration... Successful cast. Name: Unsecured Web Listener Version: 1.1 Port Number: 80 Port Protocol: http ......... End of Unmarshaller test ............ ......... Start of Marshaller test ............ <?xml version="1.0" encoding="UTF-8"?> <webServiceConfiguration name="Unsecured Web Listener" version="1.1"> <portType protocol="http" number="80" protectedPort="false" /> <documentType index="*.html,*.xml" root="/usr/local/enhydra/html" error="error.html" /> </webServiceConfiguration>

......... End of Unmarshaller test ............

乍看,这里显示的 XML 输出与您本地机器上的 XML 文档(可以从 参考资料 部分的一个链接中下载)差别很大。但是,仔细观察之后,可以发现两个文档之间只有很少差异。如果忽略元素之间的间隔和缩排,所有属性及其值都与输入文档完全相同。唯一的区别就是 XML 模式引用(和关联名称空间)不见了,正如缺省名称空间声明一样。正如我早先讨论过的,这是有意的,使 Java 对象可以独立于其余数据绑定代码而存在。至于缺省名称空间,必须在 Unmarshaller 创建 Java 对象时将关于该名称空间的某些信息存储到该对象中,以便保存。在 XML 应用程序中,可以选择关闭名称空间处理(使带缺省名称空间的元素等价于不带任何名称空间的元素,因为两者都没有前缀),或者可以修改代码以使它适合您的特殊需要。

在这两种情况下,都可以清楚地看到,有一个从 Java 对象创建 XML 文档的功能性过程。甚至可以插入其它 Java 对象 -- 包括不是从 XML 创建的 Java 对象 -- 还可以查看它们的 XML 表示。我们接着在更深的层次上讨论 Marshaller 类,并在更实际的示例中使用它。

从XML到Java代码的数据绑定之四 从无用的字符到有用的代码段(5)

时间:2010-12-02

讨论 Web 服务

还记得我要讨论的 Web 服务吗?它又回来了。前一部分讨论了启动 Web 服务是多么简单,以及如何

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号