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语法(1)
Oct 09 PHP
PHP中file_exists与is_file,is_dir的区别介绍
Sep 12 PHP
使用PHP计算两个路径的相对路径
Jun 14 PHP
解析PHP对现有搜索引擎的调用
Jun 25 PHP
深入解读php中关于抽象(abstract)类和抽象方法的问题分析
Jan 03 PHP
ThinkPHP实现二级循环读取的方法
Nov 03 PHP
PHP数组相关函数汇总
Mar 24 PHP
php字符串函数学习之substr()
Mar 27 PHP
PHP CodeIgniter框架的工作原理研究
Mar 30 PHP
orm获取关联表里的属性值
Apr 17 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
Feb 06 PHP
ThinkPHP5+Layui实现图片上传加预览功能
Aug 17 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 第三节 变量介绍
2012/04/28 PHP
在smarty中调用php内置函数的方法
2013/02/07 PHP
php批量删除超链接的实现方法
2015/10/19 PHP
Yii2验证器(Validator)用法分析
2016/07/23 PHP
Yii框架getter与setter方法功能与用法分析
2019/10/22 PHP
jQuery数组处理代码详解(含实例演示)
2012/02/03 Javascript
javascript使用中为什么10..toString()正常而10.toString()出错呢
2013/01/11 Javascript
js中的eventType事件及其浏览器支持性介绍
2013/11/29 Javascript
Mac OS X 系统下安装和部署Egret引擎开发环境
2014/09/03 Javascript
JS获取url参数、主域名的方法实例分析
2016/08/03 Javascript
angular学习之ngRoute路由机制
2017/04/12 Javascript
JS获取短信验证码倒计时的实现代码
2017/05/22 Javascript
JavaScript在控件上添加倒计时功能的实现代码
2017/07/04 Javascript
5分钟打造简易高效的webpack常用配置
2017/07/04 Javascript
vue实现全选和反选功能
2017/08/31 Javascript
Vue路由对象属性 .meta $route.matched详解
2019/11/04 Javascript
Javascript实现鼠标点击冒泡特效
2019/12/24 Javascript
解决elementUI 切换tab后 el_table 固定列下方多了一条线问题
2020/07/19 Javascript
用python写一个windows下的定时关机脚本(推荐)
2017/03/21 Python
python random从集合中随机选择元素的方法
2019/01/23 Python
用Anaconda安装本地python包的方法及路径问题(图文)
2019/07/16 Python
Python 日期的转换及计算的具体使用详解
2020/01/16 Python
python3中sorted函数里cmp参数改变详解
2020/03/12 Python
python安装读取grib库总结(推荐)
2020/06/24 Python
Python下使用Trackbar实现绘图板
2020/10/27 Python
施华洛世奇英国官网:SWAROVSKI英国
2017/03/13 全球购物
写自荐信有哪些不宜?
2013/10/17 职场文书
商务英语求职自荐信范文
2013/12/24 职场文书
酒店中秋节活动方案
2014/01/31 职场文书
优秀毕业生的求职信
2014/07/21 职场文书
干部职工纪律作风整改措施思想汇报
2014/10/11 职场文书
白鹤梁导游词
2015/02/06 职场文书
青涩记忆观后感
2015/06/18 职场文书
机关单位2016年法制宣传日活动总结
2016/04/01 职场文书
python基于tkinter制作无损音乐下载工具
2021/03/29 Python
MySQL读取JSON转换的方式
2022/03/18 MySQL