六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 40|回复: 0

在请求和响应中使用 XML

[复制链接]

升级  58%

110

主题

110

主题

110

主题

举人

Rank: 3Rank: 3

积分
374
 楼主| 发表于 2013-1-29 11:00:04 | 显示全部楼层 |阅读模式
级别: 中级
Brett McLaughlin ([email=brett@oreilly.com?subject=%E5%9C%A8%E8%AF%B7%E6%B1%82%E5%92%8C%E5%93%8D%E5%BA%94%E4%B8%AD%E4%BD%BF%E7%94%A8%20XML&cc=htc@us.ibm.com]brett@oreilly.com[/email]), 作家,编辑, O'Reilly and Associates

2006 年 10 月 23 日
偶尔使用 Ajax 的开发人员也会注意到 Ajax 中的 x 并意识到它代表 XML。XML 是编程中最常用的数据格式之一,对于异步应用程序中的服务器响应能够带来切实的好处。在本文中,您将看到服务器如何在请求响应中发送 XML。
<!--START RESERVED FOR FUTURE USE INCLUDE FILES--><!-- include java script once we verify teams wants to use this and it will work on dbcs and cyrillic characters --><!--END RESERVED FOR FUTURE USE INCLUDE FILES-->现在如果不使用 XML 就不能进行任何有意义的编程。无论考虑转向 XHTML 的网页设计人员、使用 JavaScript 的 Web 程序员、使用部署描述文件和数据绑定的服务器端程序员,还是研究基于 XML 的数据库的后端开发人员,都在使用这种可扩展标记语言。因此,XML 被认为是 Ajax 底层的核心技术之一就不足为奇了。
但是,这种观点反映到 Ajax 应用程序就表现在其核心对象所选的名称 —— XMLHttpRequest,这个名称不是很好,因为它并没有反映技术上的实际情况。换句话说,多数人之所以认为 XML 是 Ajax 的核心组成部分,仅仅是因为他们想当然地以为 XMLHttpRequest 对象在任何时候都使用 XML。但实情并非如此,本文第一部分给出了原因。实际上,您将看到在多数 Ajax 应用程序中 XML 很少出现。
XML 确实有应用在 Ajax 中,而且 XMLHttpRequest 也支持这种用法。也确实没有什么能阻挡您向服务器发送 XML。在本系列前面的文章中,我们使用普通文本和名/值参数发送数据,但 XML 也是一种可行的格式。本文将介绍如何来这样做。但最重要的是,我将讨论为何可以使用 XML 作为请求格式,以及为何在多数情况下不应该使用它。
使用 XML(真正)
到目前为止,我说的只是 Ajax 在哪些地方使用 XML。但 Ajax 中的 x 和 XMLHttpRequest 中的 XML 仍然有其实际意义,在 Web 应用程序中使用 XML 有多种选择。这一节将讨论基本的选择,剩下的部分再深入探讨细节问题。
从客户机到服务器的 XML
我们来看看将 XML 作为从客户机向服务器发送数据的格式。我们首先讨论技术上的实现,然后花些时间分析什么时候适合什么时候不适合使用它。
发送 XML:好还是不好?
在结束 XML 响应的 XML 请求(以及本文)之前,我们花点时间讨论一下在请求中使用 XML 的感受。前面已经提到,就传输而言 XML 完全不是最快的方式,但是还有更多因素要考虑。
结束语
通过本文,您现在可能已经开始对 Ajax 中的 XML 有一些更深的理解了。您知道 Ajax 应用程序不一定要使用 XML,XML 也不是数据传输中的什么法宝。还知道从网页向服务器发送 XML 不是多么难的事情。更重要的是,您知道为了确保服务器能够处理和响应请求需要做什么:必须保证服务器脚本接受 XML,而且能够识别用于发送数据的格式。
您还应该非常清楚 XML 对于请求来说并不一定是很好的数据格式。在以后的文章中,您将看到 XML 在某些情况下是有利的,但在多数请求中,它只会降低速度和增加复杂性。因此虽然通常我都会建议您马上应用在文章中学到的内容,但是对本文来说,我建议您在应用这里学到的知识时最好三思而后行。XML 请求在 Ajax 应用程序中有自己的价值,但是并不像您所想象的那么大。
在下一期文章中,我们将讨论服务器如何使用 XML 做出响应,以及 Web 应用程序如何处理这些响应。令人高兴的是,服务器能够将 XML 发送回 Web 应用程序,这样做的理由比较充分,因此那篇文章中的技术细节更实用,目前您只需要知道 XML 为何并非一定是最佳选择 —— 至少对发送请求而言。您可以尝试使用 XML 作为请求数据格式实现某些 Web 应用程序,然后再换回普通文本,看看哪种办法更快更简单。下一期文章再见。


参考资料
学习

获得产品和技术

  • Head Rush Ajax, Brett McLaughlin (O'Reilly Media, 2006):将本文所述概念引入您的脑海,Head First 风格。   
  • Java and XML, Second Edition(Brett McLaughlin,O'Reilly Media, Inc., 2001):看看作者关于 XHTML 和 XML 转换的讨论。   
  • JavaScript: The Definitive Guide(David Flanagan,O'Reilly Media, Inc.,2001):深该书深入讨论了 JavaScript 和动态 Web 页面的使用。下一版将增加关于 Ajax 的两章。   
  • Head First HTML with CSS & XHTML(Elizabeth 和 Eric Freeman, O'Reilly Media, Inc., 2005):进一步了解 HTML 和 XHTML 标准化以及如何将 CSS 应用于 HTML。   
  • IBM 试用版软件:用这些软件开发您的下一个项目,可直接从 developerWorks 下载。

讨论


关于作者
[img=100%,5]http://www.ibm.com/i/c.gif[/img]
            
            
            Brett McLaughlin 从 Logo 时代就开始使用计算机。(还记得那个小三角吗?)近年来,他已经成为 Java 和 XML 社区最著名的作者和程序员之一。他曾经在 Nextel Communications 实现过复杂的企业系统,在 Lutris Technologies 编写过应用服务器,最近在 O'Reilly Media, Inc. 继续撰写和编辑这方面的图书。Brett 即将出版的新书 Head Rush Ajax,和畅销书作者 Eric 与 Beth Freeman 一起为 Ajax 带来了获奖的革命性 Head First 方法。最近的著作 Java 1.5 Tiger: A Developer's Notebook 是关于 Java 技术最新版本的第一本书,经典的 Java and XML 仍然是在 Java 语言中使用 XML 技术的权威著作。
            
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表