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 相关文章推荐
聊天室php&amp;mysql(六)
Oct 09 PHP
分享一个超好用的php header下载函数
Jan 31 PHP
smarty模板局部缓存方法使用示例
Jun 17 PHP
ThinkPHP分页实例
Oct 15 PHP
PHP实现模仿socket请求返回页面的方法
Nov 04 PHP
php设置静态内容缓存时间的方法
Dec 01 PHP
PHP上传文件参考配置大文件上传
Dec 16 PHP
WordPress开发中用于标题显示的相关函数使用解析
Jan 07 PHP
php仿微信红包分配算法的实现方法
May 13 PHP
Zend Framework处理Json数据方法详解
Dec 09 PHP
php实现微信企业号支付个人的方法详解
Jul 26 PHP
PHP单例模式与工厂模式详解
Aug 29 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 基本语法格式
2009/12/15 PHP
PHP中几个常用的魔术常量
2012/02/23 PHP
PHP数组排序函数合集 以及它们之间的联系分析
2013/06/27 PHP
thinkphp实现发送邮件密码找回功能实例
2014/12/01 PHP
laravel获取不到session的三种解决办法【推荐】
2018/09/16 PHP
PHP关于foreach复制知识点总结
2019/01/28 PHP
iphone safari不支持position fixed的解决方法
2012/05/04 Javascript
JavaScript和CSS通过expression实现Table居中显示
2013/06/28 Javascript
js取两个数组的交集|差集|并集|补集|去重示例代码
2013/08/07 Javascript
原生js实现日期联动
2015/01/12 Javascript
纯javascript代码实现计算器功能(三种方法)
2015/09/07 Javascript
javascript常见数字进制转换实例分析
2016/04/21 Javascript
第三篇Bootstrap网格基础
2016/06/21 Javascript
js canvas实现QQ拨打电话特效
2017/05/10 Javascript
React Native中TabBarIOS的简单使用方法示例
2017/10/13 Javascript
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
2019/06/26 Javascript
Python 常用string函数详解
2016/05/30 Python
python快速建立超简单的web服务器的实现方法
2018/02/17 Python
python3利用Dlib19.7实现人脸68个特征点标定
2018/02/26 Python
对numpy中的transpose和swapaxes函数详解
2018/08/02 Python
Python中关键字global和nonlocal的区别详解
2018/09/03 Python
python与C、C++混编的四种方式(小结)
2019/07/15 Python
基于python和flask实现http接口过程解析
2020/06/15 Python
Python变量及数据类型用法原理汇总
2020/08/06 Python
Python pip install之SSL异常处理操作
2020/09/03 Python
香港家用健身器材、运动器材及健康美容仪器专门店:FitBoxx
2019/12/05 全球购物
JAVA高级程序员面试题
2013/09/06 面试题
汽车检测与维修应届毕业生求职信
2013/10/19 职场文书
医院总经理职责
2013/12/26 职场文书
公司办公室岗位职责
2014/03/19 职场文书
2015年销售工作总结范文
2015/03/30 职场文书
药品销售内勤岗位职责
2015/04/13 职场文书
最感人的道歉情书
2015/05/12 职场文书
python 遍历磁盘目录的三种方法
2021/04/02 Python
Python 多线程之threading 模块的使用
2021/04/14 Python
Python实现byte转integer
2021/06/03 Python