php 修改、增加xml结点属性的实现代码


Posted in PHP onOctober 22, 2013

php 修改 增加xml结点属性的代码,供大家学习参考。
php修改xml结点属性,增加xml结点属性的代码,有需要的朋友,参考下。

1、xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<clientSet>
<server url="192.168.0.180" port="1935" />
<rootPath value="" />
<homePath value="http://www.aaa.com" />
<helpPath value="help.html" />
<language value="en" />
<theme value="default" />
<visibleMarquee value = "true" />
<visibleWhitePaper value="true" />
<showMemberRoomForGuest value = "true" />
<emotions enabled="true" column="5" autoPlay="false">
<item name="Birthday" src="cartoon/movie/birthday.swf" thumb="cartoon/preview/birthday-small.swf" duration="15"/>
<item name="Boom" src="cartoon/movie/boom.swf" thumb="cartoon/preview/boom-small.swf" duration="6"/>
<item name="Bubble" src="cartoon/movie/bubble.swf" thumb="cartoon/preview/bubble-small.swf" duration="7.5"/>
<item name="Cry" src="cartoon/movie/cry.swf" thumb="cartoon/preview/cry-small.swf" duration="5.4"/>
<item name="Doggie" src="cartoon/movie/doggie.swf" thumb="cartoon/preview/doggie-small.swf" duration="13"/>
<item name="Greeting" src="cartoon/movie/greeting.swf" thumb="cartoon/preview/greeting-small.swf" duration="7.4"/>
<item name="Football" src="cartoon/movie/football.swf" thumb="cartoon/preview/football-small.swf" duration="2.2"/>
</emotions >
</clientSet>

2、php代码

<?
$dom=new DOMDocument('1.0');
$dom->load('x.xml');
$em=$dom->getElementsByTagName('emotions');
$em=$em->item(0);
$items=$em->getElementsByTagName('item');
foreach($items as $a){
foreach($a->attributes as $b){
if($b->nodeValue=='Birthday'){
$a->setAttribute('name','nBirthday');
}
}
}
$t=$dom->createElement('item');
$t->setAttribute('name','x');
$t->setAttribute('src','www.baidu.com');
$t->setAttribute('duration','duration');
$em->appendChild($t);
$dom->save('x.xml');
?>

PHP解析XML文档属性并编辑

<?php 
//读取xml 
 $dom=new DOMDocument('1.0'); 
$dom->load('data.xml'); 
$em=$dom->getElementsByTagName('videos');//最外层节点 
$em=$em->item(0); 
$items=$em->getElementsByTagName('video');//节点 
//如果不用读取直接添加的话把下面这一段去掉即可 
foreach($items as $a){ 
foreach($a->attributes as $b){//$b->nodeValue;节点属性的值$b->nodeName;节点属性的名称 
 echo $b->nodeName; 
 echo ":"; 
 echo $b->nodeValue; 
 echo "<br/>"; 
} 
} 
//下面是往xml写入一行新的 
$t=$dom->createElement('video');//<video 
$t->setAttribute('title','1');//<video name="data" 
$t->setAttribute('src','2');//<video name="data" src="2" 
$t->setAttribute('img','1');//<video name="data" img="1" 
$em->appendChild($t);//<video name="data" img="1"/> 
$dom->save('data.xml'); 
?>  
 

当时的xml文档:
 
<?xml version="1.0"?> 
<videos> 
 <video img="a" url="1" title="1" nickname="1" tag="1" vid="1" star="1"/> 
 <video img="b" url="2" title="2" nickname="2" tag="2" vid="2" star="2"/> 
 <video img="c" url="3" title="3" nickname="3" tag="3" vid="3" star="3"/> 
 <video title="d" src="2" img="1"/> 
</videos>

//下面这一个文件是后改的可以修改xml
<?php 
$doc = new DOMDocument(); 
$doc->load('data.xml'); //查找 videos 节点 
$root = $doc->getElementsByTagName('videos'); 
//第一个 videos 节点 
$root = $root->item(0); 
//查找 videos 节点下的 video 节点 
$userid = $root->getElementsByTagName('video'); 
//遍历所有 video 节点 
foreach ($userid as $rootdata) 
{ 
//遍历每一个 video 节点所有属性 
foreach ($rootdata->attributes as $attrib) 
{ 
$attribName = $attrib->nodeName;   //nodeName为属性名称 
$attribValue = $attrib->nodeValue; //nodeValue为属性内容 
//查找属性名称为ip的节点内容 
if ($attribName =='img') 
{ 
//查找属性内容为ip的节点内容 
if ($attribValue =='1') 
{ 
//将属性为img,img内容为1的修改为image; 
$rootdata->setAttribute('img','image'); 
$doc->save('data.xml'); 
} 
} 
} 
}  
?>
PHP 相关文章推荐
IIS下配置Php+Mysql+zend的图文教程
Dec 08 PHP
PHP小技巧搜集,每个PHPer都来露一手
Jan 02 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
Jun 23 PHP
可以保证单词完整性的PHP英文字符串截取代码分享
Jul 15 PHP
9段PHP实用功能的代码推荐
Oct 14 PHP
php编写简单的文章发布程序
Jun 18 PHP
PHP定时执行任务实现方法详解(Timer)
Jul 30 PHP
PHP书写格式详解(必看)
May 23 PHP
PHP计算近1年的所有月份
Mar 13 PHP
yii2.0整合阿里云oss的示例代码
Sep 19 PHP
PHP操作路由器实现方法示例
Apr 27 PHP
php时间戳转换代码详解
Aug 04 PHP
PHP的构造方法,析构方法和this关键字详细介绍
Oct 22 #PHP
实用的简单PHP分页集合包括使用方法
Oct 21 #PHP
使用PHP导出Word文档的原理和实例
Oct 21 #PHP
php与java通过socket通信的实现代码
Oct 21 #PHP
PHP与Java进行通信的实现方法
Oct 21 #PHP
php中生成随机密码的自定义函数代码
Oct 21 #PHP
php中读写文件与读写数据库的效率比较分享
Oct 19 #PHP
You might like
php列出一个目录下的所有文件的代码
2012/10/09 PHP
深入php处理整数函数的详解
2013/06/09 PHP
制作个性化的WordPress登陆界面的实例教程
2016/05/21 PHP
再谈PHP中单双引号的区别详解
2016/06/12 PHP
Laravel5.5 实现后台管理登录的方法(自定义用户表登录)
2019/09/30 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
2020/02/27 PHP
查找页面中所有类为test的结点的方法
2014/03/28 Javascript
Node.js异步I/O学习笔记
2014/11/04 Javascript
使用控制台破解百小度一个月只准改一次名字
2015/08/13 Javascript
基于node下的http小爬虫的示例代码
2018/01/11 Javascript
Vue父子组件双向绑定传值的实现方法
2018/07/31 Javascript
vue中render函数的使用详解
2018/10/12 Javascript
vue实现随机验证码功能的实例代码
2019/04/30 Javascript
layui 对弹窗 form表单赋值的实现方法
2019/09/04 Javascript
Vue中img的src是动态渲染时不显示的解决
2019/11/14 Javascript
JavaScript实现模态对话框实例
2020/01/13 Javascript
vue v-for出来的列表,点击某个li使得当前被点击的li字体变红操作
2020/07/17 Javascript
在Linux系统上安装Python的Scrapy框架的教程
2015/06/11 Python
python获取文件扩展名的方法
2015/07/06 Python
python虚拟环境virualenv的安装与使用
2016/12/18 Python
tensorflow 模型权重导出实例
2020/01/24 Python
CSS3新属性transition-property transform box-shadow实例学习
2013/06/06 HTML / CSS
基于 HTML5 WebGL 实现的医疗物流系统
2019/10/08 HTML / CSS
Linux管理员面试题 Linux admin interview questions
2016/07/08 面试题
高校自主招生自荐信
2013/12/09 职场文书
文明美德伴我成长演讲稿
2014/05/12 职场文书
服务行业演讲稿
2014/09/02 职场文书
2014年教务处工作总结
2014/12/03 职场文书
2015年仓管员工作总结
2015/04/21 职场文书
2016新年致辞
2015/08/01 职场文书
pytorch 6 batch_train 批训练操作
2021/05/28 Python
python cv2图像质量压缩的算法示例
2021/06/04 Python
Python 居然可以在 Excel 中画画你知道吗
2022/02/15 Python
Python中文分词库jieba(结巴分词)详细使用介绍
2022/04/07 Python
在Docker容器中部署SQL Server
2022/04/11 Servers