分类目录 ‘XML’

<?php
$xml = “”;
$f = fopen( ‘books.xml’, ‘r’ );
while( $data = fread( $f, 4096 ) ) { $xml .= $data; }
fclose( $f );

preg_match_all( “/\<book\>(.*?)\<\/book\>/s”, $xml, $bookblocks );

foreach( $bookblocks[1] as $block ) {
preg_match_all( “/\<author\>(.*?)\<\/author\>/”, $block, $author );
preg_match_all( “/\<title\>(.*?)\<\/title\>/”, $block, $title );
preg_match_all( “/\<publisher\>(.*?)\<\/publisher\>/”, $block, $publisher );
echo( $title[1][0] . ” – ” . $author[1][0] . ” – ” . $publisher[1][0] . “\n” );
}
?>

正则表达式对于小量的XML数据解析比较高效,如果是大数据量的,那么就请使用 DOM 库读取 XML 或 SAX 解析器读取 XML 吧!!

http://www.ibm.com/developerworks/cn/opensource/os-xmldomphp/

http://www.phpe.net/manual/ref.xml.php