Я пытаюсь обновить один конкретный узел в уже существующем XML-файле с php. Проблема, с которой я сталкиваюсь, заключается в том, что она, похоже, не сохраняется в xml-файле. Не уверен, почему и любая помощь здесь будут оценены!PHP: Обновление XML из PHP и сохранение
<?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