php 使用expat方式解析xml文件操作示例


Posted in PHP onNovember 26, 2019

本文实例讲述了php 使用expat方式解析xml文件操作。分享给大家供大家参考,具体如下:

test.xml:

<?xml version="1.0" encoding="UTF-8"?>
<notes>
 <note>
 <to>George</to>
 <from>John</from>
 <heading>Reminder</heading>
 <body>Don't forget the meeting!</body>
 </note>
 <note>
 <to>George2</to>
 <from>John2</from>
 <heading>Reminder2</heading>
 <body>Don't forget the meeting!2</body>
 </note>
 <instances>
 <instance st="192.168.234.121" />
 <instance st="192.168.234.28" />
 </instances>
</notes>

PHP文件:

<?php
// Initialize the XML parser
$parser = xml_parser_create();
// Function to use at the start of an element
function start($parser, $element_name, $element_attrs)
{
  switch ($element_name) {
    case "NOTE":
      echo "-- Note --<br />";
      break;
    case "TO":
      echo "To: ";
      break;
    case "FROM":
      echo "From: ";
      break;
    case "HEADING":
      echo "Heading: ";
      break;
    case "BODY":
      echo "Message: ";
  }
}
// Function to use at the end of an element
function stop($parser, $element_name)
{
  echo "<br />";
}
// Function to use when finding character data
function char($parser, $data)
{
  echo $data;
}
// Specify element handler
xml_set_element_handler($parser, "start", "stop");
// Specify data handler
xml_set_character_data_handler($parser, "char");
// Open XML file
// $fp = fopen("test.xml", "r");
// Read data
// while ($data = fread($fp, 10)) {
// xml_parse($parser, $data, feof($fp)) or die(sprintf("XML Error: %s at line %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) or die(sprintf("XML Error: %s at line %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser)));
// Free the XML parser
xml_parser_free($parser);
?>

运行结果:

-- Note --
To: George
From: John
Heading: Reminder
Message: Don't forget the meeting!

-- Note --
To: George2
From: John2
Heading: Reminder2
Message: Don't forget the meeting!2

PHP 相关文章推荐
提升PHP速度全攻略
Oct 09 PHP
adodb与adodb_lite之比较
Dec 31 PHP
php字符串截取的简单方法
Jul 04 PHP
php数组比较实现查找连续数的方法
Jul 29 PHP
详解php的socket通信
Aug 11 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
Dec 10 PHP
PHP基于接口技术实现简单的多态应用完整实例
Apr 26 PHP
[企业公众号]升级到[企业微信]之后发送消息失败的解决方法
Jun 30 PHP
PHP实现统计代码行数小工具
Sep 19 PHP
PHP7.0连接DB操作实例分析【基于mysqli】
Sep 26 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
Dec 13 PHP
thinkphp框架类库扩展操作示例
Nov 26 #PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 #PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
Nov 26 #PHP
PHP PDO和消息队列的个人理解与应用实例分析
Nov 25 #PHP
Laravel Eloquent分表方法并使用模型关联的实现
Nov 25 #PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
Nov 25 #PHP
使用Git实现Laravel项目的自动化部署
Nov 24 #PHP
You might like
PHP的变量总结 新手推荐
2011/04/18 PHP
隐性调用php程序的方法
2015/06/13 PHP
PHP网站自动化配置的实现方法(必看)
2017/05/27 PHP
Laravel事件监听器用法实例分析
2019/03/12 PHP
javascript利用初始化数据装配模版的实现代码
2010/11/17 Javascript
基于Jquery的简单图片切换效果
2011/01/06 Javascript
Javascript 页面模板化很多人没有使用过的方法
2012/06/05 Javascript
Jquery插件easyUi表单验证提交(示例代码)
2013/12/30 Javascript
使用mouse事件实现简单的鼠标经过特效
2015/01/30 Javascript
js中不同的height, top的区别对比
2015/09/24 Javascript
学习javascript面向对象 掌握创建对象的9种方式
2016/01/04 Javascript
JavaScript 函数的执行过程
2016/05/09 Javascript
jquery插件锦集【推荐】
2016/12/16 Javascript
Jquery Easyui菜单组件Menu使用详解(15)
2016/12/18 Javascript
Bootstrap popover用法详解
2016/12/22 Javascript
vue.js element-ui tree树形控件改iview的方法
2018/03/29 Javascript
Angular入口组件(entry component)与声明式组件的区别详解
2018/04/09 Javascript
Jquery使用each函数实现遍历及数组处理
2020/07/14 jQuery
Vue 解决通过this.$refs来获取DOM或者组件报错问题
2020/07/28 Javascript
详解JavaScript 中的批处理和缓存
2020/11/19 Javascript
javascript实现左右缓动动画函数
2020/11/25 Javascript
[02:20]DOTA2亚洲邀请赛 IG战队出场宣传片
2015/02/07 DOTA
python计算文本文件行数的方法
2015/07/06 Python
Python连接phoenix的方法示例
2017/09/29 Python
使用Python从零开始撸一个区块链
2018/03/14 Python
python实现AES加密与解密
2019/03/28 Python
使用Python OpenCV为CNN增加图像样本的实现
2019/06/10 Python
Python倒排索引之查找包含某主题或单词的文件
2019/11/13 Python
浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
2020/06/23 Python
Python依赖包迁移到断网环境操作
2020/07/13 Python
服装厂厂长岗位职责
2013/12/27 职场文书
艺术教育实施方案
2014/05/03 职场文书
国庆节演讲稿
2014/05/27 职场文书
开展党的群众路线教育实践活动工作总结
2014/11/05 职场文书
2016年国庆节新闻稿范文
2015/11/25 职场文书
学校教代会开幕词
2016/03/04 职场文书