用SAX解析XML
来源:互联网 发布:怎么修改mac的用户名 编辑:程序博客网 时间:2024/05/22 01:44
<?php
header("Content-Type:text/html;charset=utf-8");
//创建XML解析器
$parser = xml_parser_create('utf-8');
//规定如何让处理我们遇到的标签和数据
/*
参数1,当前解析器
参数2,开始标签处理函数
参数3,结束标签处理函数
*/
xml_set_element_handler($parser,'start_element','end_element');
/*
参数1,解析器
参数2,开始标签名
参数3,属性名
*/
function start_element($parser,$name,$attr){
echo '开始标签'.$name.'<br/>';
echo '属性:'.$attr[ID].'<br>';
}
/*
参数1,解析器
参数2,结束标签名
*/
function end_element($parser,$name){
echo '结束标签'.$name.'<br/>';
}
/*
处理数据
参数1,解析器资源
参数2,数据处理器名称
*/
xml_set_character_data_handler($parser,'data_process');
/*
数据处理器
参数1,当前解析器
参数2,数据内容
*/
function data_process($parser,$data){
echo $data."<br>";
}
/*
开始解析之前,需要读入xml文件的内容,解析器处理的是文件的内容不是文件,所以需要先通过文件处理函数获得文件的内容
*/
$xml_data = file_get_contents('bookshelf.xml');
/*
开始解析:
参数1,解析器
参数2,解析的数据
参数3,告诉解析器是否为最后一个数据()否则解析器会继续等待
*/
xml_parse($parser,$xml_data,true);
//处理错误
if($res){
echo "处理成功";
}else{
//失败,处理错误
var_dump(xml_get_error_code($parser));
var_dump(xml_get_current_line_number($parser));
var_dump(xml_get_current_column_number($parser));
var_dump(xml_error_string(xml_get_error_code($parser)));
}
- 用sax解析xml
- 用SAX解析XML
- 用SAX解析XML实例
- android XML 用SAX解析
- 用SAX解析xml文件
- 用SAX解析xml文件
- 用sax方式解析xml
- 用SAX 方式解析 XML
- 用SAX 解析XML文件
- 用SAX来解析XML
- Java用SAX解析XML
- SAX文档解析、Java用SAX解析XML
- [XML] SAX解析XML
- 【XML】SAX解析XML
- android解析xml-用sax解析
- XML解析(SAX解析)
- XML解析:SAX解析
- Study SAX《SAX解析XML》
- ADF之View层和Model层依赖
- pppoe调试信息
- function模式设置ALV用弹出窗口显示
- Qt自定义按钮
- JQuery上传插件Uploadify使用详解及错误处理
- 用SAX解析XML
- pycharm 教程(二)设置字体大小
- DOM方式解析XML配置文件,将数据保存成数组
- SQL sever 附加数据库失败,提示错误5120解决办法
- VLC Android录制视频
- InotifyPropertyChanged接口实现简单数据绑定
- ExtJS 4_0 的改变--较为完整的介绍
- [cocos2d-x] -- Cocos2d-x简介
- SAP BW数据仓库简介