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 相关文章推荐
getimagesize获取图片尺寸实例
Nov 15 PHP
PHP采集静态页面并把页面css,img,js保存的方法
Dec 23 PHP
php通过ksort()函数给关联数组按照键排序的方法
Mar 18 PHP
PHP附件下载中文名称乱码的解决方法
Dec 17 PHP
PHP批量去除BOM头内容信息代码
Mar 11 PHP
PHP微信开发之查询城市天气
Jun 23 PHP
php+jquery+html实现点击不刷新加载更多的实例代码
Aug 12 PHP
php脚本守护进程原理与实现方法详解
Jul 20 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
Nov 12 PHP
php无限级评论嵌套实现代码
Apr 18 PHP
laravel model 两表联查示例
Oct 24 PHP
PHP笛卡尔积实现原理及代码实例
Dec 09 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判断文章里是否有图片的简单方法
2014/07/26 PHP
php+mysqli实现批量执行插入、更新及删除数据的方法
2015/01/29 PHP
ThinkPHP框架分布式数据库连接方法详解
2017/03/14 PHP
Apply an AutoFormat to an Excel Spreadsheet
2007/06/12 Javascript
jQuery对象[0]是什么含义?
2010/07/31 Javascript
js 完美图片新闻轮转效果,腾讯大粤网首页图片轮转改造而来
2011/11/21 Javascript
多种方法实现JS动态添加事件
2013/11/01 Javascript
jQuery模拟物体自由落体运动(附演示与demo源码下载)
2016/01/21 Javascript
js停止冒泡和阻止浏览器默认行为的简单方法
2016/05/15 Javascript
javascript中的后退和刷新实现方法
2016/11/10 Javascript
Vue-router路由判断页面未登录跳转到登录页面的实例
2017/10/26 Javascript
js实时监控文本框输入字数的实例代码
2018/01/18 Javascript
把vue-router和express项目部署到服务器的方法
2018/02/21 Javascript
JavaScript设计模式之原型模式分析【ES5与ES6】
2018/07/26 Javascript
让axios发送表单请求形式的键值对post数据的实例
2018/08/11 Javascript
微信小程序canvas分享海报功能
2019/10/31 Javascript
详解vue中$nextTick和$forceUpdate的用法
2019/12/11 Javascript
js实现飞机大战游戏
2020/08/26 Javascript
python 获取网页编码方式实现代码
2017/03/11 Python
tensorflow实现softma识别MNIST
2018/03/12 Python
在ubuntu16.04中将python3设置为默认的命令写法
2018/10/31 Python
python-tornado的接口用swagger进行包装的实例
2019/08/29 Python
Python 日志logging模块用法简单示例
2019/10/18 Python
python 有效的括号的实现代码示例
2019/11/11 Python
python框架flask入门之环境搭建及开启调试
2020/06/07 Python
Python叠加矩形框图层2种方法及效果
2020/06/18 Python
css3实现的下拉菜单效果示例
2014/01/22 HTML / CSS
一个基于canvas的移动端图片编辑器的实现
2020/10/28 HTML / CSS
会计学自我鉴定
2014/02/06 职场文书
小学教师评语大全
2014/04/23 职场文书
城市轨道交通工程职业生涯规划书范文
2014/09/16 职场文书
群众路线教育实践活动对照检查材料思想汇报(副处级领导)
2014/10/04 职场文书
教师三严三实学习心得体会
2014/10/11 职场文书
党员个人批评与自我批评
2014/10/14 职场文书
2014年宣传部工作总结
2014/11/12 职场文书
2016中秋节广告语
2016/01/28 职场文书