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 相关文章推荐
4.与数据库的连接
Oct 09 PHP
关于BIG5-HKSCS的解决方法
Mar 20 PHP
php源码加密 仿微盾PHP加密专家(PHPCodeLock)
May 06 PHP
php和数据库结合的一个简单的web实例 代码分析 (php初学者)
Jul 28 PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
Apr 08 PHP
php实现计数器方法小结
Jan 05 PHP
64位windows系统下安装Memcache缓存
Dec 06 PHP
Yii数据读取与跳转参数传递用法实例分析
Jul 12 PHP
php 判断页面或图片是否经过gzip压缩的方法
Apr 05 PHP
PHP使用imagick扩展实现合并图像的方法
Apr 25 PHP
thinkPHP5框架自定义验证器实现方法分析
Jun 11 PHP
php中青蛙跳台阶的问题解决方法
Oct 14 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
很实用的一个完整email发送程序
2006/10/09 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
2016/04/28 PHP
深入剖析浏览器退出之后php还会继续执行么
2016/05/17 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
2017/09/26 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
2020/05/01 PHP
php解析非标准json、非规范json的方式实例
2020/12/10 PHP
JScript中的&quot;this&quot;关键字使用方式补充材料
2007/03/08 Javascript
JavaScript 编写匿名函数的几种方法
2010/02/21 Javascript
js 多浏览器分别判断代码
2010/04/01 Javascript
将字符串中由空格隔开的每个单词首字母大写
2014/04/06 Javascript
easyui Droppable组件实现放置特效
2015/08/19 Javascript
JSON对象 详解及实例代码
2016/10/18 Javascript
JavaScript ES6中export、import与export default的用法和区别
2017/03/14 Javascript
基于Vue开发数字输入框组件
2017/12/19 Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
2018/08/16 Javascript
webpack dll打包重复问题优化的解决
2018/10/10 Javascript
实例讲解vue源码架构
2019/01/24 Javascript
简单了解three.js 着色器材质
2020/08/03 Javascript
Python爬虫包BeautifulSoup异常处理(二)
2018/06/17 Python
python实现输入数字的连续加减方法
2018/06/22 Python
Python使用pymysql从MySQL数据库中读出数据的方法
2018/07/25 Python
python入门:这篇文章带你直接学会python
2018/09/14 Python
在Pycharm中自动添加时间日期作者等信息的方法
2019/01/16 Python
详解Python用户登录接口的方法
2019/04/17 Python
django+tornado实现实时查看远程日志的方法
2019/08/12 Python
python中property属性的介绍及其应用详解
2019/08/29 Python
Python反爬虫伪装浏览器进行爬虫
2020/02/28 Python
python Django 反向访问器的外键冲突解决
2020/05/20 Python
recorder.js 基于Html5录音功能的实现
2020/05/26 HTML / CSS
英国鞋类及配饰零售商:Kurt Geiger
2017/02/04 全球购物
改变生活的男士内衣:SAXX Underwear
2019/08/28 全球购物
意大利和国际奢侈品牌购物网站:Suitnegozi.com
2021/01/15 全球购物
2014年乡镇植树节活动方案
2014/02/28 职场文书
新春文艺演出主持词
2014/03/27 职场文书
员工手册编写范本
2015/05/14 职场文书
观看焦裕禄观后感
2015/06/09 职场文书