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 相关文章推荐
如何使用脚本模仿登陆过程
Nov 22 PHP
PHP 抓取新浪读书频道的小说并生成txt电子书的代码
Dec 18 PHP
php图片处理函数获取类型及扩展名实例
Nov 19 PHP
php连接odbc数据源并保存与查询数据的方法
Dec 24 PHP
php定时执行任务设置详解
Feb 06 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
Dec 21 PHP
php微信开发之带参数二维码的使用
Aug 03 PHP
php基于单例模式封装mysql类完整实例
Oct 18 PHP
php简单计算年龄的方法(周岁与虚岁)
Dec 06 PHP
php从身份证获取性别和出生年月
Feb 09 PHP
PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)
May 30 PHP
PHP与Web页面交互操作实例分析
Jun 02 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 文件夹删除、php清除缓存程序
2009/08/25 PHP
基于PHP常用函数的用法详解
2013/05/10 PHP
深入Memcache的Session数据的多服务器共享详解
2013/06/13 PHP
php数组去重实例及分析
2013/11/26 PHP
更改localhost为其他名字的方法
2014/02/10 PHP
实例讲解yii2.0在php命令行中运行的步骤
2015/12/01 PHP
PHP常用函数之base64图片上传功能详解
2019/10/21 PHP
js实现文字跟随鼠标移动而移动的方法
2015/02/28 Javascript
jQuery插件bgStretcher.js实现全屏背景特效
2015/06/05 Javascript
在Linux系统中搭建Node.js开发环境的简单步骤讲解
2016/01/26 Javascript
AngularJS数据源的多种获取方式汇总
2016/02/02 Javascript
Javascript基于jQuery UI实现选中区域拖拽效果
2016/11/25 Javascript
javascript设计模式之模块模式学习笔记
2017/02/15 Javascript
基于Cookie常用操作以及属性介绍
2017/09/07 Javascript
vue2中使用sass并配置全局的sass样式变量的方法
2018/09/04 Javascript
40行代码把Vue3的响应式集成进React做状态管理
2020/05/20 Javascript
[01:21:58]守擂赛DOTA2第一周决赛
2020/04/22 DOTA
python3.3实现乘法表示例
2014/02/07 Python
python处理json数据中的中文
2014/03/06 Python
python使用PyFetion来发送短信的例子
2014/04/22 Python
python修改list中所有元素类型的三种方法
2018/04/09 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
2020/04/02 Python
keras之权重初始化方式
2020/05/21 Python
世界知名接发和假发品牌:Poze Hair
2017/03/08 全球购物
英国女鞋购物网站:Moda in Pelle
2019/02/18 全球购物
阿巴庭院:Abba Patio
2019/06/18 全球购物
iostream与iostream.h的区别
2015/01/16 面试题
几道数据库的概念性面试题
2014/05/30 面试题
个人简历自我评价八例
2013/10/31 职场文书
医科学校毕业生自荐信
2013/11/09 职场文书
小学生班会演讲稿
2014/01/09 职场文书
会计自荐信范文
2014/03/09 职场文书
年度评优评先方案
2014/06/03 职场文书
培根随笔读书笔记
2015/07/01 职场文书
2015国庆66周年宣传语
2015/07/14 职场文书
铁拳制作人赞《铁拳7》老头环Mod:制作精良 但别弄了
2022/04/03 其他游戏