php 使用expat方式解析xml文件操作示例
本文实例讲述了php使用expat方式解析xml文件操作。分享给大家供大家参考,具体如下:
test.xml:
George John Reminder Don'tforgetthemeeting!George2 John2 Reminder2 Don'tforgetthemeeting!2
PHP文件:
";
break;
case"TO":
echo"To:";
break;
case"FROM":
echo"From:";
break;
case"HEADING":
echo"Heading:";
break;
case"BODY":
echo"Message:";
}
}
//Functiontouseattheendofanelement
functionstop($parser,$element_name)
{
echo"
";
}
//Functiontousewhenfindingcharacterdata
functionchar($parser,$data)
{
echo$data;
}
//Specifyelementhandler
xml_set_element_handler($parser,"start","stop");
//Specifydatahandler
xml_set_character_data_handler($parser,"char");
//OpenXMLfile
//$fp=fopen("test.xml","r");
//Readdata
//while($data=fread($fp,10)){
//xml_parse($parser,$data,feof($fp))ordie(sprintf("XMLError:%satline%d",xml_error_string(xml_get_error_code($parser)),xml_get_current_line_number($parser)));
//}
//fclose($fp);
$data=file_get_contents("test.xml");
xml_parse($parser,$data)ordie(sprintf("XMLError:%satline%d",xml_error_string(xml_get_error_code($parser)),xml_get_current_line_number($parser)));
//FreetheXMLparser
xml_parser_free($parser);
?>
运行结果:
--Note--
To:George
From:John
Heading:Reminder
Message:Don'tforgetthemeeting!--Note--
To:George2
From:John2
Heading:Reminder2
Message:Don'tforgetthemeeting!2
PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:
在线