<?
$ = “”;
$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 吧!!

转载请标注编辑来源:PHP用正则表达式解析 XML

我想网 板凳 原创

Tags: , , ,

分享
QQ书签
百度搜藏
Del.icio.us
Google书签
和讯网摘
天极网摘

回复已关闭.