php解析xml
程序员文章站
2024-02-03 23:48:46
...
对xml的解析一般就是 流方式,dom方式和xpath方式三种。
机制是这样的
1 创建解析器 使用 xml_parse_create 函数
2 给解析器设置读取到tag首尾时的回调函数和读取到数据的回调函数。
3 解析xml
比如
4 释放
这样的话,重点就是三个回调函数的编写:
startElement,endElement和charactionData。
形参:
startElement($parse_instance, $element_name, $attr);
endElement($parse_instance, $element_name);
characterData($parse_instance, $xml_data);
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);