位置: 编程技术 - 正文

PHP4和PHP5版本下解析XML文档的操作方法实例分析(php版本7和5区别)

编辑:rootadmin

推荐整理分享PHP4和PHP5版本下解析XML文档的操作方法实例分析(php版本7和5区别),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php5.6和php7,php5.5,php5.6和php7,php版本7和5区别,php5.3和php5.5通用吗,php5.6和php7.0,php5.3,php5.6和php7.0,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例讲述了PHP4和PHP5版本下解析XML文档的操作方法。分享给大家供大家参考,具体如下:

在PHP网站开发与建设过程中,时常会碰到需要对XML文档进行解析,PHP4版本自带了XML解析器(sax),PHP5版本增加了SimpleXML(基于dom)的XML扩展,对XML的解析更是非常方便,今天和大家分享下在不同环境下对XML文档进行解析的方法。

XML文档

PHP5版本下SimpleXML的使用方法

代码注释

第1行:simplexml_load_file:读取一个xml文档作为操作对象,可以读取本地或者远程xml文档;simplexml_load_string:读取一个xml字符串作为操作的对象第3行:如果不清楚如何获取某个节点的信息,可用print_r函数打印输出查看具体的结构,simplexml解析返回的对象具有数组结构。第5~8行:以对象方式读取某个XML文档节点信息,读取方式:句柄->节点元素名->子节点,如果相同的节点元素有多个,则以数组(array)方式读取

注:由于simplexml解析返回的信息是UTF8格式的,如果网站使用的是GBK的,则需要转码,你可以使用iconv函数或者其他的utf8与gbk转换函数进行操作,如:$name = iconv('utf-8′,'gbk',$name);

第9~行:以遍历的形式,读取所有元素下的子节点信息第~行:simplexml的xpath函数是用来查询XML数据的,比如这里查询的是所有name节点的值第~行:children函数是用来找寻某个特定节点下所有子节点的值。getName函数用来获得每个子节点的元素名称第~行:addChild函数用来在某个特定节点下增加一个子节点;asXML函数对已做过改动的XML文档进行保存

PHP4和PHP5版本下解析XML文档的操作方法实例分析(php版本7和5区别)

点击查看更多SimpleXML函数说明。

PHP4版本自带的XML函数解析方法

代码注释

第1~行:定义开始元素,结尾元素以及元素间字符数据的处理函数第行:建立一个新的XML解析器并返回可被其它XML函数使用的资源句柄,输入默认编码方式为 “ISO--1”。同时,支持的编码方式还有“UTF-8”和 “US-ASCII”,输出数据编码方式是和xml_parser_create函数处定义相一致。第行:建立起始和终止元素处理器第行:建立字符数据处理器,处理元素之间的相关数据注:XML语法解析器不会加上或者去掉任何空格,空格的取舍将由开发者自己决定。第行:启动解析器xml_parse函数第二个参数是字符型的,所以需要读取相关的XML文档信息,此处我用的是file_get_contents函数,本地远程都可行,当然你也可以使用fopen函数第行:XML解析完成后,释放解析器占用的内存

自带的XML函数解析思路

第一步:自定义开始元素,结尾元素以及元素间字符数据的处理函数;第二步:建立一个XML解析器;第三步:建立起始和终止元素处理器;第四步:建立字符数据处理器,处理元素之间的相关数据;第五步:启动解析器;第六步:XML解析完成后,释放解析器占用的内存。

总结:

总的来说PHP自带的XML解析器使用起来相当繁琐,需要有较强的逻辑,而且如果XML文档结构不同,元素、字符等3个函数需要重新定义,而在PHP5版本增加了SimpleXML扩展后,XML解析起来非常简单,当然如果你需要进行更复杂的XML文档解析操作,你也可以下载安装并使用libxml,功能相当强。

PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:

在线XML/JSON互相转换工具:

PHP使用xpath解析XML的方法详解 本文实例讲述了PHP使用xpath解析XML的方法。分享给大家供大家参考,具体如下:XML文件在PHP网站开发的轻量级应用中使用非常广泛,而PHP解析和读取XML文

yii2项目实战之restful api授权验证详解 前言什么是restful风格的api呢?我们之前有写过大篇的文章来介绍其概念以及基本操作。既然写过了,那今天是要说点什么吗?这篇文章主要针对实际场

利用Laravel事件系统如何实现登录日志的记录详解 本文介绍的是利用Laravel事件系统实现登录日志记录的相关内容,分享出来给大家参考,下面来看看详细的介绍:明确需求记录一个登录日志,通常需要

标签: php版本7和5区别

本文链接地址:https://www.jiuchutong.com/biancheng/290397.html 转载请保留说明!

上一篇:PHP实现对xml的增删改查操作案例分析(php生成xml文件)

下一篇:PHP使用xpath解析XML的方法详解(php解析xml数据)

  • 车辆保险费发票的会计分录
  • 比较优先股和普通股
  • 工程结算扣罚款怎么开票
  • 员工可以签订两份劳动合同吗
  • 个税属于会计中的什么科目
  • 二季度资产总额怎么计算
  • 一般纳税人销项开普票,进项票可以抵扣吗
  • 企业捐赠不动产 会计分录
  • 查补以前年度所得税如何填写申报表
  • 公司预支了然后来报销的帐怎么做?
  • 固定资产汽车抵扣新政策
  • 印刷配件有哪些
  • 开给别的公司的支票可以转给其它人去抵账?
  • 进项发票未抵扣部份开红冲后当月能抵扣吗?
  • 公司缴纳电费
  • 以公允价值模式后续计量的投资性房地产无须计提减值
  • 定期存款要交利息税吗
  • 不是经营范围内的食品
  • 以前月份个税没交怎么办
  • 资产置换税务处理案例
  • 农业合作社收到政府补贴做到其他收入里可以吗
  • 亏损的结转分录
  • 管理费用和财务费用在资产负债表怎么填
  • macxi
  • 营运资金管理策略有哪些
  • 个体户生产经营费用与家庭生活费用无法划分
  • 通行费怎么认证
  • 华硕笔记本装win8
  • IE浏览器如何取消全屏
  • mac如何关闭开机启动
  • php array数组
  • php常用设计模式(大总结)
  • 结存材料实际成本例题
  • 购买增值税税控系统专用设备账务处理
  • php addslashes函数
  • 直运商品委托代销商品的销售成本的计算方法应采用
  • 详解php处理字符的方法
  • 前端从后端拿excel文件
  • diskgenius命令
  • 阿里云ecs重装
  • 政府奖励收入要交所得税吗
  • SQLServer 2008 :error 40出现连接错误的解决方法
  • 哪种营业执照不用交税开店有营业执照有什么好
  • 现金流量表编制原则
  • 应纳税的物品有哪些
  • 如果企业长期股票怎么办
  • 月末怎么结转成本费用
  • 无奖有票是什么意思
  • 外商投资企业清算资金汇出环节,银行
  • 租赁的初始直接费用有哪些
  • 计提坏账准备的会计分录
  • 残疾人就业保障金怎么计算
  • 财产裁定书
  • 收到现金货款存入银行会计分录
  • 主营业务收入多栏式明细账怎么登
  • 企业流动负债比率多少算正常
  • 数据库崩了怎么恢复
  • 按关键字13,24,37,90,53,34
  • sqlserver执行计划走偏
  • mysql学习资料
  • VMware虚拟机中安装MATE桌面环境
  • linux promisc
  • centos 离线安装git
  • tesmon.sys导致的蓝屏
  • 一岁的宝宝可以喝枸杞水吗
  • win10进入安全模式后怎么恢复正常模式启动电脑
  • redhat下载教程
  • linux条件判断
  • mmtraylsi.exe是什么进程 有什么作用 mmtraylsi进程查询
  • Win10 Mobile 10586.29重要更新 可以玩wp7中的游戏
  • 微软kudo
  • js基于贪心算法实验报告
  • android环境搭建教程
  • jQuery基于ajax操作json数据简单示例
  • Node.js中的全局变量有哪些
  • jquery实现轮播图原理
  • node.js app
  • jquery 使用
  • 联华超市华联超市哪个厉害
  • 新疆税务干部学校招聘
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设