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 相关文章推荐
实例(Smarty+FCKeditor新闻系统)
Jan 02 PHP
MySQL数据库转移,access,sql server 转 MySQL 的图文教程
Sep 02 PHP
php设计模式 Chain Of Responsibility (职责链模式)
Jun 26 PHP
PHP版国家代码、缩写查询函数代码
Aug 14 PHP
PHP 年龄计算函数(精确到天)
Jun 07 PHP
php常用字符串处理函数实例分析
Nov 22 PHP
phpstorm配置Xdebug进行调试PHP教程
Dec 01 PHP
如何使用纯PHP实现定时器任务(Timer)
Jul 31 PHP
一段实用的php验证码函数
May 19 PHP
Ubuntu上安装yaf扩展的方法
Jan 29 PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
May 21 PHP
PHP中define() 与 const定义常量的区别详解
Jun 25 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水印
2007/03/16 PHP
Smarty模板变量调节器用法分析
2016/05/23 PHP
php下载文件,添加响应头的简单实例
2016/09/22 PHP
thinkPHP实现多字段模糊匹配查询的方法
2016/12/01 PHP
jQuery使用CSS()方法给指定元素同时设置多个样式
2015/03/26 Javascript
JavaScript中的Math.LN2属性用法详解
2015/06/12 Javascript
javascript 动态修改css样式方法汇总(四种方法)
2015/08/27 Javascript
Vuejs第十三篇之组件——杂项
2016/09/09 Javascript
CodeMirror js代码加亮使用总结
2017/03/25 Javascript
jQuery实现导航栏头部菜单项点击后变换颜色的方法
2017/07/19 jQuery
vue-router 导航钩子的具体使用方法
2017/08/31 Javascript
Ionic学习日记实现验证码倒计时
2018/02/08 Javascript
Vue动态控制input的disabled属性的方法
2018/06/26 Javascript
详解用js代码触发dom事件的实现方案
2020/06/10 Javascript
JS实现canvas简单小画板功能
2020/06/23 Javascript
解决vue里a标签值解析变量,跳转页面,前面加默认域名端口的问题
2020/07/22 Javascript
Vue 数据绑定的原理分析
2020/11/16 Javascript
[59:48]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第一场 1月26日
2021/03/11 DOTA
pandas对dataFrame中某一个列的数据进行处理的方法
2019/07/08 Python
python列表每个元素同增同减和列表元素去空格的实例
2019/07/20 Python
python requests指定出口ip的例子
2019/07/25 Python
PyTorch: 梯度下降及反向传播的实例详解
2019/08/20 Python
python圣诞树编写实例详解
2020/02/13 Python
使用pytorch 筛选出一定范围的值
2020/06/28 Python
Pytorch之Tensor和Numpy之间的转换的实现方法
2020/09/03 Python
从一次项目重构说起CSS3自定义变量在项目的使用方法
2021/03/01 HTML / CSS
Agoda西班牙:全球特价酒店预订
2017/06/03 全球购物
美国名牌香水折扣网站:Hottperfume
2021/02/10 全球购物
如何删除一个表里面的重复行
2013/07/13 面试题
秋季运动会加油稿200字
2014/01/11 职场文书
初中生自我评价
2014/02/01 职场文书
年度考核自我鉴定
2014/02/02 职场文书
学雷锋宣传标语
2014/06/25 职场文书
铁人纪念馆观后感
2015/06/16 职场文书
利用Selenium添加cookie实现自动登录的示例代码(fofa)
2021/05/08 Python
javascript条件式访问属性和箭头函数介绍
2021/11/17 Javascript