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 相关文章推荐
给初学者的30条PHP最佳实践(荒野无灯)
Aug 02 PHP
openflashchart 2.0 简单案例php版
May 21 PHP
php生成图形验证码几种方法小结
Aug 15 PHP
百度站点地图(百度sitemap)生成方法分享
Jan 09 PHP
ThinkPHP控制器间实现相互调用的方法
Oct 31 PHP
PHP使用ob_start生成html页面的方法
Nov 07 PHP
php实现mysql数据库分表分段备份
Jun 18 PHP
PHP生成可点击刷新的验证码简单示例
May 13 PHP
PHP面向对象程序设计之类与反射API详解
Dec 02 PHP
PHP微信分享开发详解
Jan 14 PHP
thinkPHP框架乐观锁和悲观锁实例分析
Oct 30 PHP
通过PHP实现用户注册后邮箱验证激活
Nov 10 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实现多服务器session共享之NFS共享的方法
2007/03/16 PHP
php mysql索引问题
2008/06/07 PHP
php Undefined index的问题
2009/06/01 PHP
php中设置多级目录session的问题
2011/08/08 PHP
php数组随机排序实现方法
2015/06/13 PHP
Symfony控制层深入详解
2016/03/17 PHP
PHP函数rtrim()使用中的怪异现象分析
2017/02/24 PHP
ThinkPHP中create()方法自动验证表单信息
2017/04/28 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
2017/08/30 PHP
PHP7 list() 函数修改
2021/03/09 PHP
Angular实现购物车计算示例代码
2017/02/21 Javascript
原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面
2017/11/01 Javascript
React diff算法的实现示例
2018/04/20 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
2019/04/02 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
2020/10/28 Javascript
[50:28]LGD女子学院第三期 DOTA2复仇之魂教学
2013/12/24 DOTA
详解Python之unittest单元测试代码
2018/01/24 Python
详解Python logging调用Logger.info方法的处理过程
2019/02/12 Python
Python实现二叉树的常见遍历操作总结【7种方法】
2019/03/06 Python
Django框架实现分页显示内容的方法详解
2019/05/10 Python
python 中的列表生成式、生成器表达式、模块导入
2019/06/19 Python
利用python实现汉字转拼音的2种方法
2019/08/12 Python
浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)
2019/08/12 Python
解决django-xadmin列表页filter关联对象搜索问题
2019/11/15 Python
python实现百度OCR图片识别过程解析
2020/01/17 Python
pandas 强制类型转换 df.astype实例
2020/04/09 Python
美国最佳在线航班预订网站:LookupFare
2019/03/26 全球购物
写出程序把一个链表中的接点顺序倒排
2014/04/28 面试题
中学教师岗位职责
2013/11/26 职场文书
办公设备采购方案
2014/03/16 职场文书
安全负责人任命书
2014/06/06 职场文书
普通话宣传标语
2014/06/26 职场文书
时尚女魔头观后感
2015/06/04 职场文书
婚礼男方父母答谢词
2015/09/29 职场文书
2016幼儿园教师节新闻稿
2015/11/25 职场文书
javascript进阶篇深拷贝实现的四种方式
2022/07/07 Javascript