php解析xml

WBOY
WBOY원래의
2016-06-23 14:34:431179검색

对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);
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:cache.func.php다음 기사:common.inc.php