教程吧

php添加数据到xml文件的简单例子

xml文件:stu.xml:

<?xml version="1.0" encoding="utf-8" ?> <AllData> <xueshengmen> <xuesheng> <name>张三</name> <yuwen>80</yuwen> <shuxue>90</shuxue> <yingyu>70</yingyu> </xuesheng> <xuesheng> <name>李四</name> <yuwen>60</yuwen> <shuxue>90</shuxue> <yingyu>75</yingyu> </xuesheng> </xueshengmen> </AllData>

以上文件stu.xml提供了部分学生数据。

现在需要在每个xuesheng的节点里面添加一个zongfen的属性并且它的值等于yuwen+shuxue+yingyu的值

如下所示:

<?xml version="1.0" encoding="utf-8" ?> <AllData> <xueshengmen> <xuesheng> <name>张三</name> <yuwen>80</yuwen> <shuxue>90</shuxue> <yingyu>70</yingyu> <zongfen>240</zongfen> </xuesheng> <xuesheng> <name>李四</name> <yuwen>60</yuwen> <shuxue>90</shuxue> <yingyu>75</yingyu> <zongfen>2225</zongfen> </xuesheng> </xueshengmen> </AllData>

用php来实现:

<?php $doc = new DOMDocument(); $doc->load( ‘stu.xml' ); $students = $doc->getElementsByTagName( “xuesheng” ); foreach($students as $stu){ $yuwen = $stu->getElementsByTagName( “yuwen” )->item(0)->nodeValue; $shuxue = $stu->getElementsByTagName( “shuxue” )->item(0)->nodeValue; $yingyu = $stu->getElementsByTagName( “yingyu” )->item(0)->nodeValue; $zongfen = $stu->getElementsByTagName( “zongfen” )->item(0)->nodeValue; if($zongfen){ echo “节点已经存在了,不再添加!”; continue; } $zongfen = $yuwen+$shuxue+$yingyu; $newNode = $doc->createElement(“zongfen”,$zongfen); $stu->appendChild($newNode); } $result = $doc->saveXML(‘stu.xml'); ?>
相关阅读