はじめに: 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’); ?>