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 相关文章推荐
利用文件属性结合Session实现在线人数统计
Oct 09 PHP
PHP4中session登录页面的应用
Jul 25 PHP
UCenter 批量添加用户的php代码
Jul 17 PHP
深入掌握include_once与require_once的区别
Jun 17 PHP
PHP自动生成后台导航网址的最佳方法
Aug 27 PHP
ThinkPHP 3.2 版本升级了哪些内容
Mar 05 PHP
PHP魔术方法以及关于独立实例与相连实例的全面讲解
Oct 18 PHP
php图片合成方法(多张图片合成一张)
Nov 25 PHP
php+js实现裁剪任意形状图片
Oct 31 PHP
PHP中的访问修饰符简单比较
Feb 02 PHP
php和C#的yield迭代器实现方法对比分析
Jul 17 PHP
使用Laravel中的查询构造器实现增删改查功能
Sep 03 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下删除一篇文章生成的多个静态页面
2010/08/08 PHP
PHP开发的一些注意点总结
2010/10/12 PHP
用PHP代替JS玩转DOM的思路及示例代码
2014/06/15 PHP
php站内搜索关键词变亮的实现方法
2014/12/30 PHP
php计算title标题相似比的方法
2015/07/29 PHP
SSO单点登录的PHP实现方法(Laravel框架)
2016/03/23 PHP
CentOS系统中PHP安装扩展的方式汇总
2017/04/09 PHP
PHP实现浏览器中直接输出图片的方法示例
2018/03/14 PHP
js 金额文本框实现代码
2012/02/14 Javascript
jquery ajax 局部刷新小案例
2014/02/08 Javascript
jquery的父子兄弟节点查找示例代码
2014/03/03 Javascript
js判断横竖屏及禁止浏览器滑动条示例
2014/04/29 Javascript
javascript实现校验文件上传控件实例
2015/04/20 Javascript
基于jQuery 实现bootstrapValidator下的全局验证
2015/12/07 Javascript
深入理解jQuery 事件处理
2016/06/14 Javascript
关于JavaScript限制字数的输入框的那些事
2016/08/14 Javascript
浅析location.href跨窗口调用函数
2016/11/22 Javascript
bootstrap 模态框(modal)实现水平垂直居中显示
2017/01/23 Javascript
jQuery插件Echarts实现的渐变色柱状图
2017/03/23 jQuery
移动端效果之Swiper详解
2017/10/09 Javascript
小程序实现订单倒计时功能
2019/04/23 Javascript
JavaScript中layim之整合右键菜单的示例代码
2021/02/06 Javascript
TensorFlow模型保存/载入的两种方法
2018/03/08 Python
python 异或加密字符串的实例
2018/10/14 Python
Python图像处理之图像的读取、显示与保存操作【测试可用】
2019/01/04 Python
Python生成并下载文件后端代码实例
2020/08/31 Python
python简单实现插入排序实例代码
2020/12/16 Python
Django实现简单的分页功能
2021/02/22 Python
简述数据库的设计过程
2015/06/22 面试题
车辆维修工自我评价怎么写
2013/09/20 职场文书
公务员党员评议表自我鉴定
2014/09/14 职场文书
党的群众路线对照检查材料(个人)
2014/09/24 职场文书
2014年医院科室工作总结
2014/12/20 职场文书
追悼会答谢词
2015/01/05 职场文书
迎新晚会主持词开场白
2015/05/28 职场文书
2015年美容师个人工作总结
2015/10/14 职场文书