对xml的解析一般就是 流方式,dom方式和xpath方式三种。
php常用的是流方式。
机制是这样的1 创建解析器 使用 xml_parse_create 函数$parse = xml_parser_create();2 给解析器设置读取到tag首尾时的回调函数和读取到数据的回调函数。
xml_set_element_handler ( $parser , “startElement” , “endElement”);xml_set_character_data_handle( $parser , " characterData " );3 解析xml xml_parse ( $parse , $data , $iseof );第二个参数可以是一个xml片段,可以通过fopen fread feof fclose等文件操作函数来打开 读取 关闭文件。
比如$fh = fopen ( ' article.xml ','r' );while ( ! feof ( $fh )){$data = fread ( $fh , 1024 );xml_parse ( $parse , $data , feof ( $fh ));}fclose ( $fh );4 释放xml_parser_free( $parse );这样的话,重点就是三个回调函数的编写:startElement,endElement和charactionData。
形参:
startElement($parse_instance, $element_name, $attr);endElement($parse_instance, $element_name);characterData($parse_instance, $xml_data);
