<
title
>
Podcasting Hacks
<
/title
>
<
publisher
>
O'Reilly
<
/publisher
>
<
/book
>
<
/books
>
清单
1 中的 XML 包含一个图书列表。父标记 <books> 包含一组 <
book> 标记,每个 < book> 标记又包含 <author >、< title > 和 <
publisher
>
标
记
。
当
XML 文档的标记结构和内容得到外部模式文件的验证后, XML 文档就
是正确的。模式文件可以用不同的格式指定。对于本文来说,所需要的只是格
式
良
好
的
XML
。
如 果 觉 得
XML 看起来很像超文本标记语言( HTML ),那么就对了 。
XML 和 HTML 都是基于标记的语言,它们有许多相似之处。但是,要着重指
出的是:虽然
XML 文档可能是格式良好的 HTML,但不是所有的 HTML 文档
都是格式良好的
XML。换行标记(br)是 XML 和 HTML 之间区别的一个好
例 子 。 这 个 换 行 标 记 是 格 式 良 好 的
HTML , 但 不 是 格 式 良 好 的 XML :
<
p
>
This is a paragraph
<
br
>
With a line break
<
/p
>
这 个 换 行 标 记 是 格 式 良 好 的
XML 和 HTML :
<
p
>
This is a paragraph
<
br /
>
With a line break
<
/p
>
如果要把
HTML 编写成同样是格式良好的 XML,请遵循 W3C 委员会的
可扩展超文本标记语言(
XHTML)标准(参见 参考资料)。所有现代的浏览
器都能呈现
XHTML。而且,还可以用 XML 工具读取 XHTML 并找出文档中
的
数
据
,
这
比
解
析
HTML 容
易
得
多
。
使
用
DOM 库
读
取
XML
读取格式良好的
XML 文件最容易的方式是使用编译成某些 PHP 安装的文
档对象模型
(DOM)库。DOM 库把整个 XML 文档读入内存,并用节点树表
示
它
,
如
图
1 所
示
。
图
1. 图
书
XML 的
XML DOM 树
<img src="http://img.ddvip.com/2007_05/1180276173_ddvip_5
757.gif" onclick="get_larger(this)" />
树 顶 部 的
books 节 点 有 两 个 book 子 标 记 。 在 每 本 书 中 , 有 autho
r、publisher 和 title 几个节点。author、publisher 和 title 节点分别有包
含
文
本
的
文
本
子
节
点
。