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的安全
Oct 09 PHP
利用PHP和AJAX创建RSS聚合器的代码
Mar 13 PHP
php下把数组保存为文件格式的实例应用
Feb 08 PHP
PHP中图片等比缩放的实例
Mar 24 PHP
深入探讨:PHP使用数据库永久连接方式操作MySQL的是与非
Jun 05 PHP
php数组合并的二种方法
Mar 21 PHP
Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
Jul 25 PHP
Symfony2创建基于域名的路由相关示例
Nov 14 PHP
PHP判断一个变量是否为整数、正整数的方法示例
Sep 11 PHP
如何在centos8自定义目录安装php7.3
Nov 28 PHP
PHP unset函数原理及使用方法解析
Aug 14 PHP
goto语法在PHP中的使用教程
Sep 17 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开发模式(简写版)
2007/03/15 PHP
CakePHP去除默认显示的标题及图标的方法
2008/10/22 PHP
基于PHP生成静态页的实现方法
2013/05/10 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
2013/10/29 PHP
Zend Framework教程之分发器Zend_Controller_Dispatcher用法详解
2016/03/07 PHP
浅谈PHP进程管理
2019/03/08 PHP
php用wangeditor3实现图片上传功能
2019/08/22 PHP
基于jquery的cookie的用法
2011/01/10 Javascript
JS数组的常见用法实例
2015/02/10 Javascript
js跨域请求的5中解决方式
2015/07/02 Javascript
javascript基础知识分享之类与函数化
2016/02/13 Javascript
javascript弹出窗口中增加确定取消按钮
2016/06/24 Javascript
简单分析javascript中的函数
2016/09/10 Javascript
es6学习之解构时应该注意的点
2017/08/29 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
2017/09/22 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
小程序实现抽奖动画
2020/04/16 Javascript
JavaScript函数IIFE使用详解
2019/10/21 Javascript
python网络爬虫采集联想词示例
2014/02/11 Python
Python程序员面试题 你必须提前准备!(答案及解析)
2018/01/23 Python
pytorch实现onehot编码转为普通label标签
2020/01/02 Python
python+selenium+PhantomJS抓取网页动态加载内容
2020/02/25 Python
DjangoWeb使用Datatable进行后端分页的实现
2020/05/18 Python
Python中socket网络通信是干嘛的
2020/05/27 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
日本PLST在线商店:日本时尚杂志刊载的人气服装
2016/12/10 全球购物
好莱坞百老汇御用王牌美妆:Koh Gen Do 江原道
2018/04/03 全球购物
大学生优秀的自我评价分享
2013/10/22 职场文书
报到证丢失证明
2014/01/11 职场文书
酒店保安员岗位职责
2014/01/31 职场文书
创建文明学校实施方案
2014/03/11 职场文书
2014年两会学习心得范例
2014/03/17 职场文书
店铺转让协议书(2014版)
2014/09/23 职场文书
工作检讨书怎么写
2014/10/10 职场文书
离婚财产分隔协议书
2014/10/23 职场文书
终止解除劳动合同证明书
2015/06/17 职场文书