我想從PHP更新一個預先存在的xml文件中的特定節點。我遇到的問題是,它似乎沒有保存到XML文件。不知道爲什麼和任何幫助將不勝感激!PHP:從PHP更新XML和保存
<?php
$itemNumber = $_GET["itemNumberField"];
$xmlFile = "items.xml";
if(file_exists($xmlFile))
{
// $doc = new DOMDocument('1.0');
// $doc->load($xmlFile);
$doc = DOMDocument::load($xmlFile);
$item = $doc->getElementsByTagName("item");
foreach($item as $node)
{
$itemNumberNode = $node->getElementsByTagName("itemNumber");
$itemNumberNode = $itemNumberNode->item(0)->nodeValue;
$qtyNode = $node->getElementsByTagName("quantity");
$qtyNode = $qtyNode->item(0)->nodeValue;
if ($itemNumberNode == $itemNumber)
{
$qtyNode++;
echo $qtyNode;
}
}
}
else
{
echo "file doesn't exist! <br/>";
}
$doc->save($xmlFile);
?>
編輯:只是爲了澄清,添加到節點似乎很好。
解決方案:原來它沒有保存的原因是因爲添加節點。我不得不直接更新它或爲其分配更新的值。
$qtyNode = $node->getElementsByTagName("quantity");
$qtyNode = $qtyNode->item(0);
...
$qtyNode->nodeValue++;
你在哪裏試圖保存文件?本地或遠程? – YdB
@bboni它在遠程服務器上。 – WonderfulWonder