在请求和响应中使用 XML
这篇文章主要探讨在大多数情况下确实是 好主意的一种做法:向客户机返回 XML 响应。
服务器端的 XML:一个简单的示例
我不会谈太多有关如何在服务器上生成 XML 的内容,但花点儿时间看一个简单的示例是值得的,我没有给出过多的注释,以便您自行思考如何应对这样的场景。清单 9 展示了一个简单的 PHP 脚本,假设有一个异步客户机发出了请求,该脚本将输出 XML 来应答此请求。
这是一种强力(brute force)的方法,PHP 脚本实际上是手动生成 XML 输出。您可以找到许多工具包和 API,用于 PHP 和其他众多允许您生成 XML 响应的服务器端语言。无论您的情况如何,这都至少能让您了解生成 XML 并以之应答请求的服务器端脚本看上去是什么样子。
清单 9. 返回 XML 的 PHP 脚本
| < ?php
// Connect to a MySQL database $conn = @mysql_connect("mysql.myhost.com", "username", "secret- password"); if (!conn) die("Error connecting to database: " . mysql_error()); if (!mysql_select_db("television", $conn)) die("Error selecting TV database: " . mysql_error()); // Get ratings for all TV shows in database $select = 'SELECT title, rating'; $from = ' FROM ratings'; $queryResult = @mysql_query($select . $from); if (!$queryResult) die("Error retrieving ratings for TV shows.'); // Let the client know we're sending back XML header("Content-Type: text/xml"); echo "< ?xml version=\"1.0\" encoding=\"utf-8\"?>"; echo "< ratings>"; while ($row = mysql_fetch_array($queryResult)) { $title = $row['title']; $rating = $row['rating']; echo "< show> echo "< title>" . $title . "< /title>"; echo "< rating>" . $rating . "< /rating>"; echo "< /show>"; } echo "< /ratings>"; mysql_close($conn); ?> |
解释 XML 的其他可选方法
除将 XML 作为无格式文本处理或使用 DOM 处理之外,还有一种非常流行的选择很重要,值得一提。那就是 JSON(JavaScript Object Notation),这是一种绑定在 JavaScript 内的自由文本格式。这篇文章中没有足够的空间介绍 JSON,在后续文章中将探讨相关内容;只要提起 XML 和 Ajax 应用程序,您就很可能会听到有人谈论 JSON,因此现在我将告诉您,您的工作伙伴们在谈论的究竟是什么。
大体上,可以用 JSON 做的事,用 DOM 都可以完成,反之亦然;选择主要取决于偏好,当然也要为特定的应用程序选择正确的方法。就现在而言,您应坚持使用 DOM,在接收服务器响应的过程中熟悉 DOM。我将占用几期文章的篇幅、用大量的时间去探讨 JSON,之后您就可以随意选择在下一个应用程序中使用那种技术了。请继续关注本系列:后续文章中将介绍关于 XML 的更多内容。
- 本文关键词:

