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 getsiteurl()函数
Sep 05 PHP
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
Jun 05 PHP
关于PHP session 存储方式的详细介绍
Jun 25 PHP
php配合jquery实现增删操作具体实例
Dec 12 PHP
自己写的兼容低于PHP 5.5版本的array_column()函数
Oct 24 PHP
php cli配置文件问题分析
Oct 15 PHP
Symfony2学习笔记之插件格式分析
Mar 17 PHP
php中preg_replace_callback函数简单用法示例
Jul 21 PHP
php实现基于PDO的预处理示例
Mar 28 PHP
php实现的pdo公共类定义与用法示例
Jul 19 PHP
PHP写API输出的时用echo的原因详解
Apr 28 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
Feb 18 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 mssql 时间格式问题
2009/01/13 PHP
php获取post中的json数据的实现方法
2011/06/08 PHP
用php和jQuery来实现“顶”和“踩”的投票功能
2016/10/13 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
JavaScript中Function详解
2015/02/27 Javascript
javascript控制台详解
2015/06/25 Javascript
jQuery支持添加事件的日历特效代码分享(3种样式)
2015/08/24 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
基于RequireJS和JQuery的模块化编程——常见问题全面解析
2016/04/14 Javascript
原生js封装二级城市下拉列表的实现代码
2016/06/16 Javascript
JavaScript的事件机制详解
2017/01/17 Javascript
jquery实现input框获取焦点的简单实例
2017/01/26 Javascript
javascript trie前缀树的示例
2018/01/29 Javascript
浅析JavaScript异步代码优化
2019/03/18 Javascript
Node.js一行代码实现静态文件服务器的方法步骤
2019/05/07 Javascript
Kettle中使用JavaScrip调用jar包对文件内容进行MD5加密的操作方法
2020/09/04 Javascript
vue vant中picker组件的使用
2020/11/03 Javascript
分享一个常用的Python模拟登陆类
2015/03/29 Python
Django的信号机制详解
2017/05/05 Python
Python实现随机生成手机号及正则验证手机号的方法
2018/04/25 Python
Python使用logging模块实现打印log到指定文件的方法
2018/09/05 Python
使用Python生成200个激活码的实现方法
2019/11/22 Python
Python开发之基于模板匹配的信用卡数字识别功能
2020/01/13 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
2021/03/03 Python
涂鸦板简单实现 Html5编写属于自己的画画板
2016/07/05 HTML / CSS
canvas绘制文本内容自动换行的实现代码
2019/01/14 HTML / CSS
中式餐厅创业计划书范文
2014/01/23 职场文书
洗发水广告词
2014/03/13 职场文书
企业精细化管理实施方案
2014/03/23 职场文书
卖车协议书
2014/04/21 职场文书
统计专业自荐书
2014/07/06 职场文书
大学生交通专业求职信
2014/09/01 职场文书
获奖感言一句话
2015/07/31 职场文书
《给予树》教学反思
2016/03/03 职场文书
青年人初次创业的“五不要”
2019/08/23 职场文书
python 远程执行命令的详细代码
2022/02/15 Python