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

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语句里进行字符串比较还是网页内容输出,都是大写。而经过测试,节点值的大小写不改变,这里不再赘述。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值