代码如下 | 复制代码 |
php |
正则解析
代码如下 | 复制代码 |
$xml = ""; $f = fopen( 'books.xml', 'r' ); while( $data = fread( $f, 4096 ) ) { $xml .= $data; } fclose( $f ); preg_match_all( "// $xml, $bookblocks ); foreach( $bookblocks[1] as $block ) { preg_match_all( "// $block, $author ); preg_match_all( "// $block, $title ); preg_match_all( "// $block, $publisher ); echo( $title[1][0]." - ".$author[1][0]." - ". $publisher[1][0]."/n" ); } ?> |
books.xml文件如下
代码如下 | 复制代码 |
下面就给大家举一个小小的例子用parser函数来读取xml数据:
代码如下 | 复制代码 |
$parser = xml_parser_create(); //创建一个parser编辑器
fclose($filehandler);
function characterData($parser_instance, $xml_data) //读取数据时的函数 function endElement($parser_instance, $element_name) //结束标签事件的函数 ?> |
xml文件代码如下:
代码如下 | 复制代码 |
|
parser是php内置的一个用来处理xml的解析器,它的工作由三个事件组成:起始标签、 读取数据、结束标签。
也就是说在对xml进行处理的时候每当遇到起始标签、数据和结束标签的时候函数会做相应的动作来完成对xml数据的转换。