PHP基于SimpleXML生成和解析xml的方法示例


Posted in PHP onJuly 17, 2017

本文实例讲述了PHP基于SimpleXML生成和解析xml的方法。分享给大家供大家参考,具体如下:

xml就不多解释了,php也提供了操作xml的方法,php操作xml可以有多种方式如domdocment,simplexml,xmlwriter等其中最简单的应该是simplexml了,这次就来说说simplexml怎么读取和解析xml文件或字符串

1. 生成xml字符串和文件

<?php
 header("Content-type: text/html; charset=utf-8");
 $xml=new SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><UsersInfo />');
 $item=$xml->addchild("item");
 $item->addchild("name","冯绍峰");
 $item->addchild("age","30");
 $item2=$xml->addchild("item");
 $item2->addchild("name","潘玮柏");
 $item2->addchild("age","29");
 $item2->addAttribute("id","02");
 header("Content-type: text/xml");
 echo $xml->asXml();
 $xml->asXml("student.xml");
?>

生成xml最重要的就是addchild,addAttribute,asXml三个方法,如果只是单纯生成xml文件的话那个header可以不要,下面是浏览器的显示结果

 PHP基于SimpleXML生成和解析xml的方法示例

是不是很简单呢

2. simplexml解析xml文件或字符串

<?php
 header("Content-type: text/html; charset=utf-8");
 $xml=simplexml_load_file("UserInfo.xml");
 //通过children取得根节点下面的子项
 for($i=0;$i<count($xml->children());$i++){
   foreach ($xml->children()[$i] as $key => $value ) {
    echo "$key:$value"."<br/>";
   }
 }
?>

上面的方法适合解析xml文件,如果是xml字符串就把simplexml_load_file改为simplexml_load_string就可以了,children用于取得根节点或者子节点,取得的节点是一个数组直接遍历必要的时候加上过滤条件就可以了,下面是解析的结果

 PHP基于SimpleXML生成和解析xml的方法示例

顺便把我的xml文件贴出来

<?xml version="1.0" encoding="UTF-8"?>
<UsersInfo>
 <item>
   <name>潘玮柏</name>
   <address>上海市浦东新区</address>
   <song>快乐崇拜</song>
 </item>
 <item>
   <name>蔡依林</name>
   <address>上海市徐汇区</address>
   <song>独占神话</song>
 </item>
</UsersInfo>

总的说来操作真的太简洁了。

PHP 相关文章推荐
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
Dec 06 PHP
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
Jul 01 PHP
php中autoload的用法总结
Nov 08 PHP
ThinkPHP模板IF标签用法详解
Jul 01 PHP
php中file_get_content 和curl以及fopen 效率分析
Sep 19 PHP
一个经典的PHP文件上传类分享
Nov 18 PHP
PHP自带ZIP压缩、解压缩类ZipArchiv使用指南
Mar 03 PHP
PHP滚动日志的代码实现
Jun 10 PHP
必须收藏的php实用代码片段
Feb 02 PHP
PHP数学运算与数据处理实例分析
Apr 01 PHP
超强多功能php绿色集成环境详解
Jan 25 PHP
聊聊 PHP 8 新特性 Attributes
Aug 19 PHP
PHP实现限制IP访问及提交次数的方法详解
Jul 17 #PHP
PHP提取字符串中的手机号正则表达式怎么写
Jul 17 #PHP
老生常谈PHP中的数据结构:DS扩展
Jul 17 #PHP
PHPstorm快捷键(分享)
Jul 17 #PHP
利用PHP_XLSXWriter代替PHPExcel的方法示例
Jul 16 #PHP
PHP常用操作类之通信数据封装类的实现
Jul 16 #PHP
Laravel网站打开速度优化的方法汇总
Jul 16 #PHP
You might like
PHP分页显示制作详细讲解
2008/11/19 PHP
PHP CLI模式下的多进程应用分析
2013/06/03 PHP
总结对比php中的多种序列化
2016/08/28 PHP
thinkPHP5.0框架API优化后的友好性分析
2017/03/17 PHP
Laravel 框架路由原理与路由访问实例分析
2020/04/14 PHP
使用jQuery+HttpHandler+xml模拟一个三级联动的例子
2011/08/09 Javascript
解决遍历时Array.indexOf产生的性能问题
2012/07/03 Javascript
js计算精度问题小结
2013/04/22 Javascript
js获取IP和PcName(IE)在vs中可用
2013/08/02 Javascript
javascript中文本框中输入法切换的问题
2013/12/10 Javascript
用JQuery实现全选与取消的两种简单方法
2014/02/22 Javascript
jquery原理以及学习技巧介绍
2015/11/11 Javascript
js手动播放图片实现图片轮播效果
2016/09/17 Javascript
angularJs的ng-class切换class
2017/06/23 Javascript
详解vue + vuex + directives实现权限按钮的思路
2017/10/24 Javascript
详解Vue改变数组中对象的属性不重新渲染View的解决方案
2018/09/21 Javascript
JavaScript实现左右滚动电影画布
2020/02/06 Javascript
Python列表append和+的区别浅析
2015/02/02 Python
Python中的两个内置模块介绍
2015/04/05 Python
Python的Twisted框架上手前所必须了解的异步编程思想
2016/05/25 Python
Python爬虫DNS解析缓存方法实例分析
2017/06/02 Python
python中文件变化监控示例(watchdog)
2017/10/16 Python
Python通过Pygame绘制移动的矩形实例代码
2018/01/03 Python
python线程中同步锁详解
2018/04/27 Python
Python 3.x基于Xml数据的Http请求方法
2018/12/28 Python
很酷的python表白工具 你喜欢我吗
2019/04/11 Python
Python Http请求json解析库用法解析
2020/11/28 Python
美国运动鞋类和服装零售连锁店:Shoe Palace
2019/08/13 全球购物
西班牙用户之间买卖视频游戏的平台:Wakkap
2020/03/21 全球购物
Fanatics官网:运动服装、球衣、运动装备
2020/10/12 全球购物
DELPHI中如何调用API,可举例说明
2014/01/16 面试题
英语专业毕业生自我鉴定
2013/11/09 职场文书
两年的个人工作自我评价
2014/01/10 职场文书
安全生产中长期规划实施方案
2014/02/21 职场文书
《春笋》教学反思
2014/04/15 职场文书
ORM模型框架操作mysql数据库的方法
2021/07/25 MySQL