php使用函数方式读取XML文件的例子
时间:2021-07-01 10:21:17
帮助过:18人阅读
//第一步 创建解析器 xml_parser_create(编码); - $xml = xml_parser_create('utf-8');
- //xml_parser_set_option — 为指定 XML 解析进行选项设置
- //xml_parser_set_option($xml,XML_OPTION_CASE_FOLDING,false); false原样输出
- //注册事件,将遇到开始和结束表计时使用什么函数
- xml_set_element_handler($xml,"starttag","endtag");
xml_set_character_data_handler($xml,"content"); function starttag($x,$tagName,$args){ - if($tagName=="USERS")
- echo "
{$tagName}";- else if($tagName == "USER"){
- echo "
";- echo "
{$args['ID']} | "; - }else
- echo "
";- }
function endtag($x,$tagName){ - if($tagName=="USERS")
- echo "
| "; - else if($tagName == "USER")
- echo "
|
"; else echo "";}function content($x,$content){
echo $content;}$printerror=false;
$xmlfile="user.xml";
//第二步 读取数据$fp=fopen($xmlfile,"r");while(!feof($fp)){
$data=fread($fp,1024); //开始解析 if(!xml_parse($xml,$data)){$printerror=true; }}//关闭文件
fclose($fp);if($printerror){ $row=xml_get_current_line_number($xml); $col=xml_get_current_column_number($xml); $errormess=xml_error_string(xml_get_error_code($xml)); echo "在文件{$xmlfile}中,[{$row}行,{$col}列]:{$errormess}.";}//关闭解析器xml_parser_free($xml);?>