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 相关文章推荐
PHP学习之正则表达式
Apr 17 PHP
解析crontab php自动运行的方法
Jun 24 PHP
php的array数组和使用实例简明教程(容易理解)
Mar 20 PHP
PHP函数getenv简介和使用实例
May 12 PHP
php实现事件监听与触发的方法
Nov 21 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
Mar 31 PHP
php文件上传类完整实例
May 14 PHP
简单谈谈 php 文件锁
Feb 19 PHP
利用laravel+ajax实现文件上传功能方法示例
Aug 13 PHP
Laravel使用原生sql语句并调用的方法
Oct 09 PHP
Yii框架数据库查询、增加、删除操作示例
Oct 14 PHP
PHP 图片处理
Sep 16 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
解析smarty 截取字符串函数 truncate的用法介绍
2013/06/20 PHP
Drupal简体中文语言包安装教程
2014/09/27 PHP
PHP内核探索之解释器的执行过程
2015/12/22 PHP
用cssText批量修改样式
2009/08/29 Javascript
基于jQuery的计算文本框字数的代码
2012/06/06 Javascript
node.js中的fs.fsync方法使用说明
2014/12/15 Javascript
JavaScript中split() 使用方法汇总
2015/04/17 Javascript
深入探讨前端框架react
2015/12/09 Javascript
js中获取时间new Date()的全面介绍
2016/06/20 Javascript
Angularjs单选框相关的示例代码
2017/08/17 Javascript
ajax请求+vue.js渲染+页面加载的示例
2018/02/11 Javascript
vue基础之事件v-onclick=&quot;函数&quot;用法示例
2019/03/11 Javascript
微信小程序后台持续定位功能使用详解
2019/08/23 Javascript
解决vue项目获取dom元素宽高总是不准确问题
2020/07/29 Javascript
[00:56]PWL开团时刻DAY8——追追追追追!
2020/11/09 DOTA
[01:08:43]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第一场 1月9日
2021/03/11 DOTA
200 行python 代码实现 2048 游戏
2018/01/12 Python
python mac下安装虚拟环境的图文教程
2019/04/12 Python
Python Matplotlib 基于networkx画关系网络图
2019/07/10 Python
python3 批量获取对应端口服务的实例
2019/07/25 Python
python的slice notation的特殊用法详解
2019/12/27 Python
python计算二维矩形IOU实例
2020/01/18 Python
详解查看Python解释器路径的两种方式
2020/10/15 Python
世界上最受欢迎的钓鱼诱饵:Rapala
2019/05/02 全球购物
为您的家、后院、车库等在线购物:Spreetail
2019/06/17 全球购物
运动会通讯稿200字
2014/02/16 职场文书
英语老师推荐信
2014/02/26 职场文书
企业授权委托书范本
2014/04/02 职场文书
初一学生评语大全
2014/04/24 职场文书
护士演讲稿优秀范文
2014/04/30 职场文书
小学生国庆演讲稿
2014/09/05 职场文书
2015年师德表现自我评价
2015/03/05 职场文书
2015年百日安全活动总结
2015/03/26 职场文书
政协工作总结2015
2015/05/20 职场文书
河童之夏观后感
2015/06/11 职场文书
java版 联机五子棋游戏
2022/05/04 Java/Android