Home > Article > Backend Development > PHP implementation code to modify and add xml node attributes_PHP tutorial
PHP modifies xml node attributes and adds code for xml node attributes. Friends in need can refer to it
PHP modified to add the code of xml node attributes for your reference.
PHP modifies xml node attributes and adds code for adding xml node attributes. For those who need it, please refer to it.
1. xml file
Copy the code as follows:
<?xml version="1.0" encoding="UTF-8" ?> <clientSet> <server url="192.168.0.180" port="1935" /> <rootPath value="" /> <homePath value="http://www.jbxue.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 code
<? $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 parses XML document attributes and edits
<?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 ":"; // www.jbxue.com 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 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>
<?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'); } } } } ?>