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 相关文章推荐
PHP6 先修班 JSON实例代码
Aug 23 PHP
php Smarty 字符比较代码
Feb 27 PHP
PHP爆绝对路径方法收集整理
Sep 17 PHP
浅析PHP 按位与或 (^ 、&amp;)
Jun 21 PHP
php5.3不能连接mssql数据库的解决方法
Dec 27 PHP
php中文繁体和简体相互转换的方法
Mar 21 PHP
php的crc32函数使用时需要注意的问题(不然就是坑)
Apr 21 PHP
CI框架实现cookie登陆的方法详解
May 18 PHP
PHP Class SoapClient not found解决方法
Jan 20 PHP
PHP5.5新特性之yield理解与用法实例分析
Jan 11 PHP
PHP实现时间日期友好显示实现代码
Sep 08 PHP
PHP中通过getopt解析GNU C风格命令行选项
Nov 18 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/11/03 PHP
Yii查询生成器(Query Builder)用法实例教程
2014/09/04 PHP
Zend Framework教程之Zend_Config_Ini用法分析
2016/03/23 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
PHP命名空间定义与用法实例分析
2019/08/14 PHP
15个款优秀的 jQuery 图片特效插件推荐
2011/11/21 Javascript
JavaScript遍历table表格中的某行某列并打印其值
2014/07/08 Javascript
分享20个提升网站界面体验的jQuery插件
2014/12/15 Javascript
jQuery toggle 代替方法
2016/03/22 Javascript
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
2016/05/09 Javascript
jquery按回车键实现表单提交的简单实例
2016/05/25 Javascript
原生态js,鼠标按下后,经过了那些单元格的简单实例
2016/08/11 Javascript
Vue.js中数组变动的检测详解
2016/10/12 Javascript
Bootstrap fileinput组件封装及使用详解
2017/03/10 Javascript
微信小程序实现表单校验功能
2020/03/30 Javascript
Vue中$refs的用法详解
2018/06/24 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
JS基于开关思想实现的数组去重功能【案例】
2019/02/18 Javascript
[00:17]天涯墨客一技能展示
2018/08/25 DOTA
Pyramid Mako模板引入helper对象的步骤方法
2013/11/27 Python
Python比较2个时间大小的实现方法
2018/04/10 Python
解决pandas使用read_csv()读取文件遇到的问题
2018/06/15 Python
python保存数据到本地文件的方法
2018/06/23 Python
Python通用函数实现数组计算的方法
2019/06/13 Python
python实现图片转换成素描和漫画格式
2020/08/19 Python
法国和欧洲海边和滑雪度假:Pierre & Vacances
2017/01/04 全球购物
泰国办公用品购物网站:OfficeMate
2018/02/04 全球购物
英国领先的在线高尔夫商店:Scottsdale Golf
2019/08/26 全球购物
甲方资料员岗位职责
2013/12/13 职场文书
公司周年庆典邀请函
2014/01/12 职场文书
认识深刻的检讨书
2014/02/16 职场文书
旅游饭店管理专业自荐书
2014/06/28 职场文书
颐和园英文导游词
2015/01/30 职场文书
同事离别感言
2015/08/04 职场文书
2016年助残日旅游活动总结
2016/04/01 职场文书
 python中的元类metaclass详情
2022/05/30 Python