XML(eXtensible Markup Language,可扩展标识语言),是一种标准化的数据格式。它看起来有点类似HTML,也有标签(<example>like this</example>)和实体(如&)。但和HTML不一样的是,XML设计的目的是为了便于被解析,并且在XML 文档中你要遵循很多规则(哪些是你可以做的,哪些是你不能做的)。现在,在出版、工程、医药等很多领域,XML已经成为一种标准化的数据格式。XML可用 于远程过程调用(RPC, Remote Procedure Calls)、数据库、商品订单等等。
在很多情况下你可能会用到 XML。因为它是一种数据传送的通用格式,其他程序可以通过提取信息(解析)或者用HTML显示(转换)的方式让你使用XML文件。本章介绍如何使用 PHP内置的XML解析器,也介绍了如何使用可选的XSLT扩展来转换XML。我们还会简要介绍如何生成XML文档。
最近,XML已经被用于远程过 程调用(XML-RPC)。客户端将函数名和参数值用XML编码后通过HTTP发送至服务器,服务器收到后解码函数名和值,再决定如何处理,最后返回一个 XML编码的响应值。XML-RPC已经被证明是一种集成用不同语言编写的应用程序组件的好方法。在本章中,我们将会介绍如何编写XML-RPC服务器和 客户端。
11.1 入门指南
Lightning Guide to XML XML
大多数XML文档由元素(类似于HTML标签)、实体和规则数据组成。例如:
<book isbn="1-56592-610-2">
<title>Programming PHP</title>
<authors>
<author>Rasmus Lerdorf</author>
<author>Kevin Tatroe</author>
<author>Peter MacIntyre</author>
</authors>
</book>
在HTML中,常常可以用不封闭的标签,最常见的例子:
<br>
但在XML中,这样是非法的。XML要求每个开始标签都必须有一个对应的结束标签。对于没有包含任何事物的标签,例如表示断行的<br>,XML使用如下语法:
<br />
标签可以嵌套但不能重叠,例如这样是合法的:
<book><title>Programming PHP</title></book>
但这样是非法的,因为book和title标签重叠了:
<book><title>Programming PHP</book></title>
