導讀: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’); ?>