PHP的三种XML解析器之Expat解析器(一)

原创 2015年11月20日 16:08:18

XML文件内容

<?xml version="1.0" encoding="UTF-8" ?>
<note>
	<to>腾讯</to>
	<from>百度</from>
	<head>BAT</head>
	<body>BAT是中国互联网公司百度公司(Baidu)、阿里巴巴集团(Alibaba)、腾讯公司(Tencent)三大巨头首字母缩写。</body>
</note>

PHP文件内容

	//expat解析器
	//1.利用xml_parser_create()函数初始化Expat解析器
	$parser = xml_parser_create();

	//2.定义遇到事件处理函数 开始标签start()、结束标签stop()、字符数据char()
	function start($parser, $element_name, $element_attr){
		if($element_name == 'NOTE'){
			echo $element_name . '<br />';
		}else{
			echo $element_name . ': ';
		}
	}
	function stop($parser, $element_name){
		echo '<br />';
	}
	function char($parser, $data){
		echo $data;
	}

	//3.绑定开始标签和结束标签的事件处理函数xml_set_element_handler()
	xml_set_element_handler($parser,'start','stop');

	//4.绑定字符数据的事件处理函数xml_set_character_data_handler()
	xml_set_character_data_handler($parser,'char');

	//5.利用xml_parse()解析输出XML数据
	//打开XML文件
	$fp = fopen('note.xml','r');
	//循环读取并解析输出XML文件
	while($row = fread($fp,4096)){
		//当输出失败时输出错误信息
		xml_parse($parser,$row) or 
			die(xml_error_string(xml_get_error_code($parser), 
			xml_get_current_line_number($parser)));
	}

	//6.利用xml_parser_free()释放Expat解析器
	xml_parser_free($parser);


网页输出



结论

可以发现XML文件中note节点名称为小写字母,而在PHP代码中获取到的节点名称却是大写的,不论是在if语句里进行字符串比较还是网页内容输出,都是大写。而经过测试,节点值的大小写不改变,这里不再赘述。

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

PHP的三种XML解析器之Expat解析器(一)

XML文件内容 腾讯 百度 BAT BAT是中国互联网公司百度公司(Baidu)、阿里巴巴集团(Alibaba)、腾讯公司(Tencent)三大巨头首字母缩写。 PHP文件内容 //e...

PHP XML Expat 解析器

内建的 Expat 解析器使在 PHP 中处理 XML 文档成为可能。 什么是 XML? XML 用于描述数据,其焦点是数据是什么。XML 文件描述了数据的结构。 在 XML 中,没有预...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

PHP的三种XML解析器之SimpleXML解析器(三)

XML文件内容 腾讯 百度 bat BAT是中国互联网公司百度公司(Baidu)、阿里巴巴集团(Alibaba)、腾讯公司(Tencent)三大巨头首字母缩写。 PHP文件内容 <?...

PHP的三种XML解析器之DOM解析器(二)

XML文件内容 腾讯 百度 bat BAT是中国互联网公司百度公司(Baidu)、阿里巴巴集团(Alibaba)、腾讯公司(Tencent)三大巨头首字母缩写。 PHP文件内容 <...

使用Expat XML解析器的例子

2011-05-30 19:32:32|  分类: 默认分类 |字号 订阅 工作原理:  1 . Initialize the XML parser with the xml_parser_cre...

PHP基础之使用Expat解析xml

这篇博文记录php中解析xml的一种方法:使用expat解析xml,下面是待解析的xml文件的内容: zhangsan 21 teacher male IBM 然后是编写php代码,解...

XML解析之三 Dom解析器

接上一章,这一章我们介绍Dom解析,因为Dom是J2EE中用得比较多的解析器,这里解析方法跟J2EE方法是一样的,具体的样式跟以下这篇文章中的样式是一样的 view plaincopy ...

Pull解析器解析XML

Pull解析器解析XML            除了可以使用SAX或DOM解析XML文件之外,也可以使用Pull解析器解析XML文件。 Pull解析器是一个开源的 java项目,既可以用于andr...

解析XML文件之使用SAM解析器

XML是一种常见的数据传输方式,所以在开发中,我们会遇到对XML文件进行解析的时候,本篇主要介绍使用SAM解析器,对XML文件进行解析 下面是我们要进行解析的文件格式 liming 3...

XML的几种解析器

XML优点:平台无关性,语言无关性,系统无关性 XML在不同的语言里解析方式都是一样的,只不过实现的语法不同而已。基本的解析方式有两种,一种叫SAX,另一种叫DOM。SAX是基于事件流的解析,DOM是...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)