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 相关文章推荐
备份mysql数据库的php代码(一个表一个文件)
May 28 PHP
优化PHP程序的方法小结
Feb 23 PHP
CI框架自动加载session出现报错的解决办法
Jun 17 PHP
ThinkPHP关于session的操作方法汇总
Jul 18 PHP
php实现微信公众平台账号自定义菜单类
Dec 02 PHP
PHP实现二叉树的深度优先与广度优先遍历方法
Sep 28 PHP
优化WordPress中文章与评论的时间显示
Jan 12 PHP
php 判断字符串编码是utf-8 或gb2312实例
Nov 01 PHP
php判断文件上传图片格式的实例详解
Sep 30 PHP
PHP中的自动加载操作实现方法详解
Aug 06 PHP
laravel 如何实现引入自己的函数或类库
Oct 15 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
火车头采集器3.0采集图文教程
2007/03/17 PHP
《PHP编程最快明白》第五讲:php目录、文件操作
2010/11/01 PHP
snoopy 强大的PHP采集类使用实例代码
2010/12/09 PHP
PHP session_start()问题解疑(详细介绍)
2013/07/05 PHP
php类中的各种拦截器用法分析
2014/11/03 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
2017/08/09 PHP
thinkPHP框架实现的无限回复评论功能示例
2018/06/09 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
PHP sdk实现在线打包代码示例
2020/12/09 PHP
js实现具有高亮显示效果的多级菜单代码
2015/09/01 Javascript
深入分析jQuery的ready函数是如何工作的(工作原理)
2015/12/17 Javascript
jQuery轮播图效果精简版完整示例
2016/09/04 Javascript
JavaScript计算值然后把值嵌入到html中的实现方法
2016/10/29 Javascript
完美实现js焦点轮播效果(一)
2017/03/07 Javascript
jQuery.form.js的使用详解
2017/06/14 jQuery
详解Angular2组件之间如何通信
2017/06/22 Javascript
js Element Traversal规范中的元素遍历方法
2018/04/19 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
微信小程序如何刷新当前界面的实现方法
2019/06/07 Javascript
JS实现点击生成UUID的方法完整实例【基于jQuery】
2019/06/12 jQuery
微信小程序实现上拉加载功能
2019/11/20 Javascript
javascript设计模式 ? 模板方法模式原理与用法实例分析
2020/04/23 Javascript
Python Web框架Flask中使用新浪SAE云存储实例
2015/02/08 Python
Python读取数据集并消除数据中的空行方法
2018/07/12 Python
基于tensorflow __init__、build 和call的使用小结
2021/02/26 Python
韩国知名的家庭购物网站:CJmall
2016/08/01 全球购物
汽车检测与维修应届毕业生求职信
2013/10/19 职场文书
园林技术个人的自我评价
2014/02/15 职场文书
募捐倡议书怎么写
2014/05/14 职场文书
学生安全承诺书
2014/05/22 职场文书
销售活动策划方案
2014/08/26 职场文书
赵氏孤儿观后感
2015/06/09 职场文书
外出学习心得体会范文
2016/01/18 职场文书
《社戏》教学反思
2016/02/22 职场文书
JavaScript实现班级抽签小程序
2021/05/19 Javascript
python图片灰度化处理的几种方法
2021/06/23 Python