php解析xml

WBOY
WBOYOriginal
2016-06-23 14:34:431205Durchsuche

对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);
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:cache.func.phpNächster Artikel:common.inc.php