php的SimpleXML方法读写XML接口文件实例解析


Posted in PHP onJune 16, 2014

在php5中读写xml文档是非常方便的,可以直接使用php的SimpleXML方法来快速解析与生成xml格式的文件,下面举例说明:

创建一个SimpleXML对象有三种方法:

1.使用new关键字创建

$xml="<personinfo><item><id>1</id><name>aaa</name><age>16</age></item>
<item><id>2</id><name>bbb</name><age>26</age></item></personinfo>";
$rss=new SimpleXMLElement($xml);

2.使用simplexml_load_string()创建

$xml="<personinfo><item><id>1</id><name>aaa</name><age>16</age></item>
<item><id>2</id><name>bbb</name><age>26</age></item></personinfo>";
$rss=simplexml_load_string($xml);

3.使用simplexml_load_file()从一个URL创建

$rss=simplexml_load_file("rss.xml");
//或者:
$rss=simplexml_load_file("/rss.xml");//远程文档

具体实例如下:

<?php
$xml="<personinfo><item><id>1</id><name>aaa</name><age>16</age></item><item><id>2</id><name>bbb</name><age>26</age></item></personinfo>";
$rss=new SimpleXMLElement($xml);
foreach($rss->item as $v){
 echo $v->name,'<br />';
}
echo $rss->item[1]->age;//读取数据
echo '<hr>';
$rss->item[1]->name='ccc';//修改数据
foreach($rss->item as $v){
 echo $v->name,' <br /> ';//aaa <br /> ccc <br />
}
echo '<hr>';
unset($rss->item[1]);//输出数据
foreach($rss->item as $k=>$v){
 echo $v->name,' <br /> ';//aaa <br />
}
echo '<hr>';
//添加数据
$item=$rss->addChild('item');
$item->addChild('id','3');
$item->addChild('name','ccc_new');
$item->addChild('age','40');
foreach($rss->item as $k=>$v){
 echo $v->name,' <br /> ';//aaa <br /> ccc_new <br />
}
$rss->asXML('personinfo.xml');
?>

进一步分析上面例子如下:

//xml数据的读取
//可以直接通过元素的名称来访问特定的元素。文档中的所有元素都被看成是该对象的属性。
foreach($rss->item as $v){
    echo $v->name,' <br /> ';//aaa <br /> bbb <br />
}
echo $rss->item[1]->age;//26
//xml数据修改,可以直接利用对象属性赋值的方法来直接编辑一个元素的内容
$rss->item[1]->name='ccc';//修改数据
foreach($rss->item as $v){
    echo $v->name,' <br /> ';//aaa <br /> ccc <br />
}
//可以用php内容函数unset来将一个元素从树中删除
unset($rss->item[1]);
foreach($rss->item as $v){
    echo $v->name,' <br /> ';//a 3water.com aa <br />
}
//xml添加元素数据,可通过对象的addChild方法来实现
$item=$rss->addChild('item');
$item->addChild('id','3');
$item->addChild('name','ccc_new');
$item->addChild('age','40');
foreach($rss->item as $k=>$v){
    echo $v->name,' <br /> ';//aaa <br /> ccc_new <br />
}
//xml数据的存储
//使用对象的asXML()方法
$rss->asXML('personinfo.xml');//将xml数据存储到personinfo.xml文件中
PHP 相关文章推荐
模仿OSO的论坛(四)
Oct 09 PHP
发布一个用PHP fsockopen写的HTTP下载的类
Feb 22 PHP
屏蔽机器人从你的网站搜取email地址的php代码
Nov 14 PHP
解析PHP多种序列化与反序列化的方法
Jun 06 PHP
安装apache2.2.22配置php5.4(具体操作步骤)
Jun 26 PHP
PHP中使用FFMPEG获取视频缩略图和视频总时长实例
May 04 PHP
php使用百度ping服务代码实例
Jun 19 PHP
PHP语法小结之基础和变量
Nov 22 PHP
php代码调试利器firephp安装与使用方法分析
Aug 21 PHP
PHP类的自动加载机制实现方法分析
Jan 10 PHP
PHP面向对象程序设计之构造方法和析构方法详解
Jun 13 PHP
laravel-admin的图片删除实例
Sep 30 PHP
Thinkphp中Create方法深入探究
Jun 16 #PHP
ThinkPHP中的关联模型注意点
Jun 16 #PHP
用PHP代替JS玩转DOM的思路及示例代码
Jun 15 #PHP
php判断数组元素中是否存在某个字符串的方法
Jun 14 #PHP
浅析PHP的静态成员函数效率更高的原因
Jun 13 #PHP
单台服务器的PHP进程之间实现共享内存的方法
Jun 13 #PHP
PHPAnalysis中文分词类详解
Jun 13 #PHP
You might like
PHP获取MAC地址的函数代码
2011/09/11 PHP
PHP简洁函数(PHP简单明了函数语法)
2012/06/10 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
2013/10/10 PHP
php以fastCGI的方式运行时文件系统权限问题及解决方法
2015/05/11 PHP
php实现模拟登陆方正教务系统抓取课表
2015/05/19 PHP
PHP curl使用实例
2015/07/02 PHP
通过Jscript中@cc_on 语句识别IE浏览器及版本的代码
2011/05/07 Javascript
js 使FORM表单的所有元素不可编辑的示例代码
2013/10/17 Javascript
jquery如何判断表格同一列不同行input数据是否重复
2014/05/14 Javascript
JS实现距离上次刷新已过多少秒示例
2014/05/23 Javascript
JSP中使用JavaScript动态插入删除输入框实现代码
2014/06/13 Javascript
javascript实现下拉提示选择框
2015/12/29 Javascript
Angular ng-class详解及实例代码
2016/09/19 Javascript
详解angularJs中自定义directive的数据交互
2017/01/13 Javascript
详解vue-router 2.0 常用基础知识点之router.push()
2017/05/10 Javascript
Angular.js中上传指令ng-upload的基本使用教程
2017/07/30 Javascript
VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解
2018/11/30 Javascript
通过JQuery,JQueryUI和Jsplumb实现拖拽模块
2019/06/18 jQuery
vue实现评价星星功能
2020/06/30 Javascript
Python Flask 搭建微信小程序后台详解
2019/05/06 Python
PyQt5笔记之弹出窗口大全
2019/06/20 Python
python脚本当作Linux中的服务启动实现方法
2019/06/28 Python
python获取当前文件路径以及父文件路径的方法
2019/07/10 Python
python pandas获取csv指定行 列的操作方法
2019/07/12 Python
Python字符串、列表、元组、字典、集合的补充实例详解
2019/12/20 Python
详解python with 上下文管理器
2020/09/02 Python
OpenCV利用python来实现图像的直方图均衡化
2020/10/21 Python
python用tkinter实现一个gui的翻译工具
2020/10/26 Python
html5 制作地图当前定位箭头的方法示例
2020/01/10 HTML / CSS
美国最大的宠物用品零售商:PetSmart
2016/11/14 全球购物
美国帽子俱乐部商店:Hat Club
2019/07/05 全球购物
牵手50香港:专为黄金岁月的单身人士而设的交友网站
2020/08/14 全球购物
国际贸易专业个人鉴定
2014/02/22 职场文书
文化宣传方案
2014/03/13 职场文书
大学生就业自我推荐信
2014/05/10 职场文书
新手入门Mysql--概念
2021/06/18 MySQL