background image

    读 取 图 书

 XML 文 件 并 用  DOM 显 示 内 容 的 代 码 如 清 单  2 所 示 。

 

 

 2. 用

 DOM 读

 XML

 

?php

 

$doc = new DOMDocument();

 

$doc-

load( 'books.xml' );

 
 

$books = $doc-

getElementsByTagName( "book" );

 

foreach( $books as $book )

 

{

 

$authors = $book-

getElementsByTagName( "author" );

 

$author = $authors-

item(0)-

nodeValue;

 
 

$publishers = $book- > getElementsByTagName( "publisher" );

 

$publisher = $publishers-

item(0)-

nodeValue;

 
 

$titles = $book-

getElementsByTagName( "title" );

 

$title = $titles-

item(0)-

nodeValue;

 
 

echo "$title - $author - $publisher

";
 

}

 

?>  脚本首先创建一个 new DOMdocument 对象,用 load 方法把图

 XML 装入这个对象。之后,脚本用 getElementsByName 方法得到指定

  在

 book 节点的循环中,脚本用 getElementsByName 方法获得 autho

r、publisher 和 title 标记的 nodeValue。nodeValue 是节点中的文本。脚

    可 以 在 命 令 行 上 像 这 样 运 行

 PHP 脚 本 :

 

 

% php e1.php

 

 

PHP Hacks - Jack Herrington - O'Reilly

 

 

Podcasting Hacks - Jack Herrington - O'Reilly

 

 

%

  可以看到,每个图书块输出一行。这是一个良好的开始。但是,如果不能
访

 XML DOM 库

 

 

 SAX 解

 XML

  读取

 XML 的另一种方法是使用 XML Simple API(SAX)解析器。PHP 

的大多数安装都包含

 SAX 解析器。SAX 解析器运行在回调模型上。每次打开

或关闭一个标记时,或者每次解析器看到文本时,就用节点或文本的信息回调