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 相关文章推荐
phpMyAdmin 安装教程全攻略
Mar 19 PHP
PHP 数组遍历方法大全(foreach,list,each)
Jun 30 PHP
学习php分页代码实例
Oct 24 PHP
PHP将两个关联数组合并函数提高函数效率
Mar 18 PHP
PHP引用(&amp;)各种使用方法实例详解
Mar 20 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
Jun 27 PHP
php浏览历史记录的方法
Mar 10 PHP
php给图片添加文字水印方法汇总
Aug 27 PHP
PHP书写格式详解(必看)
May 23 PHP
php实现将数据做成json的格式给前端使用
Aug 21 PHP
PHP7数组的底层实现示例
Aug 25 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
Mar 26 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
全国FM电台频率大全 - 27 陕西省
2020/03/11 无线电
php下连接ftp实现文件的上传、下载、删除文件实例代码
2010/06/03 PHP
php数组函数序列之array_push() 数组尾部添加一个或多个元素(入栈),返回新长度。
2011/11/07 PHP
php数据库备份还原类分享
2014/03/20 PHP
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
2014/07/25 PHP
PHP命名空间(namespace)的动态访问及使用技巧
2014/08/18 PHP
php通过隐藏表单控件获取到前两个页面的url
2014/09/09 PHP
php连接oracle数据库的方法(测试成功)
2016/05/26 PHP
PHP中使用foreach()遍历二维数组的简单实例
2016/06/13 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
use jscript Create a SQL Server database
2007/06/16 Javascript
告诉大家什么是JSON
2008/06/10 Javascript
javascript跨域刷新实现代码
2011/01/01 Javascript
读jQuery之十四 (触发事件核心方法)
2011/08/23 Javascript
jQuery jcrop插件截图使用方法
2013/11/20 Javascript
js控制input输入字符解析
2013/12/27 Javascript
原生JavaScript实现精美的淘宝轮播图效果示例【附demo源码下载】
2017/05/27 Javascript
SVG动画vivus.js库使用小结(实例代码)
2017/09/14 Javascript
vue cli3.0结合echarts3.0与地图的使用方法示例
2019/03/26 Javascript
关于layui 实现点击按钮添加一行(方法渲染创建的table)
2019/09/29 Javascript
p5.js实现故宫橘猫赏秋图动画
2019/10/23 Javascript
详解Python发送邮件实例
2016/01/10 Python
Python:Scrapy框架中Item Pipeline组件使用详解
2017/12/27 Python
python脚本生成caffe train_list.txt的方法
2018/04/27 Python
pytorch 实现查看网络中的参数
2020/01/06 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
2020/03/05 Python
使用Python实现批量ping操作方法
2020/05/06 Python
最简单的matplotlib安装教程(小白)
2020/07/28 Python
一款纯css3实现的tab选项卡的实列教程
2014/12/11 HTML / CSS
浅谈HTML5 &amp; CSS3的新交互特性
2016/07/19 HTML / CSS
卫校毕业生自我鉴定
2013/10/31 职场文书
二年级体育教学反思
2014/01/15 职场文书
恶搞卫生巾广告词
2014/03/18 职场文书
县委常委班子对照检查材料思想汇报
2014/09/28 职场文书
幼儿园五一劳动节活动总结
2015/02/09 职场文书
python基础之爬虫入门
2021/05/10 Python