background image

 </book>
 </books>

XML 

 

元素和属性名可以包含大写字母 A-Z

 

、小写字母 a-z

 

、数字 0-9、一些特殊字符和非英

文字符以及三种标点符号:连字符、下划线和句点。名字中不能出现其他标点符号。
XML 是大小写敏感的。这个例子中,<Book>   

和 <book> 描述了两种不同的元素。两种

 

形式都允许。使用 <Book>   

和 <book> 描述两种不同的元素可能不是一种好办法,因

为很容易出现笔误。

 

每个 XML 

 

文档都有且只有一个根元素。根元素是 XML 文档中惟一没有父元素的元素。上

 

例中的根元素是 <books>

 

。多数 XML 文档包含父元素和孩子元素。<books> 元素只有

 

一 个 子 元 素 , 即

<book> 。 <book>   元 素 有 四 个 子 元 素 ,

<title>、<characters>、<plot>   

和 <success>。<characters> 元素有三个子元素,

 

都是 <character> 

 

元素。每个 <character> 

 

元素都有两个子元素,即 <name> 和 

<desc>。
除了形成父子关系的元素嵌套之外,XML 元素还可以具有属性。属性是附加到元素起始

 “

标记上的名值对。名称和值之间用等号 =” 分开。值用单引号或双引号括起来。上面的清

 

单 1 中,<success> 元素有两个属性,"bestseller"   

和 "bookclubs"。关于属性的用

 

法在 XML 开发者之间有不同的考虑。多数包含在属性的信息也可以放在子元素中。一些
开发者坚持认为属性信息应该是元数据,即关于数据的信息,而不是数据本身。数据本身

 

应该包含在元素中。是否使用属性实际上取决于数据的性质以及如何从 XML 中提取数据。
XML 的力量
XML 的优点之一是比较简单,可以使用简单的文本编辑器或者字处理程序来编写 
XML,不需要专门的工具或软件。XML 的基本语法由嵌套元素组成,部分元素具有属性

 

和内容。元素通常包括两个标记,一个起始标记和一个结束标记,分别用 <tag > 和 
< /tag > 表示。XML 

 

大小写敏感,而且空白是有意义的。看起来和众所周知的 HTML 很

 

相似,但和 HTML 

 

不同的是 XML 允许用更具描述性的名称命名标记。XML 的其他优点

 

包括自描述、同时供人类和机器读取、支持 Unicode(这使它支持不同语言的国际化)、
严格的语法和解析要求。不幸的是,UTF-8   

在 PHP5 中有问题,这一不足也是推动 

PHP6 开发的动力之一。
XML 的弱点
XML 非常罗嗦,带来的后果是存储体积大,消耗带宽多。尽管人们应该能够读取它,但

 

是很难想象一个人会去阅读包含 7 

 

百万个节点的 XML 文件。最基本的解析器功能支持的

数据类型不多,因此处理不规则或少见的数据(经常会遇到这种情况)成为最主要的困
难。

 

结构良好的 XML

 

符合全部 XML 

 

语法规则的 XML 文档是结构良好的。结构不良好的文档从技术上讲就不

 

是 XML。<br> 

 

之类的 HTML 

 

标记在 XML 

 

中是不允许的,要想成为结构良好的 XML,

 

必须写成 <br />

 

。解析器不能正确解析结构不良好的 XML。此外,XML 文档有且只能有

一个根元素。可以将根元素看成是有无穷层的文件柜。虽然只有一个文件柜,但是在其中
放什么和放多少没有什么限制。有数不清的抽屉和夹子可以存放信息。
PHP 基础

 

本文的多数读者曾经用过 PHP,但不一定清楚它的历史和发展。