0
我想在我的XML文檔中給一個數字加上+1,如果它只是一個沒有問題,但是...如果我想更新2個節點,它會出錯?添加數量到節點值並更新?
這是我曾嘗試:
$xml = new DOMDocument("1.0", "ISO-8859-1");
$xml->formatOutput = true;
$xml->preserveWhiteSpace = false;
$xml->loadXML('<?xml version="1.0"?>
<friends>
<friend id="1">
<name>MyTest</name>
<games>5</games>
<wins>3</wins>
</friend>
</friends>');
echo "<xmp>OLD:\n". $xml->saveXML() ."</xmp>";
$library = $xml->documentElement;
$xpath = new DOMXPath($xml);
$xpath2 = new DOMXPath($xml);
$result = $xpath->query('//friend[@id="1"]/games');
if($result){
$cgames = $xpath->query('//friend[@id="1"]/games')->item(0);
$cgames = $cgames->nodeValue;
$result->item(0)->nodeValue = $cgames+1;
$cwins = $xpath->query('//friend[@id="1"]/wins')->item(0);
$cwins = $cwins->nodeValue;
$result->item(0)->nodeValue = $cwins+1;
echo "<xmp>NEW:\n". $xml->saveXML() ."</xmp>";
}
做這件事時,我只更新和新的價值將是4?它應該是6,應該是4 ...我做錯了什麼?
請幫忙在此先感謝:-)
哦,是的......有沒有訣竅。不知道爲什麼我沒有想到這一點;-)非常感謝:-) – Mansa