PHP:从PHP更新XML并保存
我试图从php中更新预先存在的xml文件中的一个特定节点。我遇到的问题是,它似乎没有保存到xml文件中。不知道为什么,这里的任何帮助都将不胜感激PHP:从PHP更新XML并保存,php,xml,Php,Xml,我试图从php中更新预先存在的xml文件中的一个特定节点。我遇到的问题是,它似乎没有保存到xml文件中。不知道为什么,这里的任何帮助都将不胜感激 <?php $itemNumber = $_GET["itemNumberField"]; $xmlFile = "items.xml"; if(file_exists($xmlFile)) { // $doc = new DOMDocument('1.0'); // $doc->l
<?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);
?>
Chmod要保存xml文件的文件夹:将权限设置为maximaly 775
如果不起作用,请尝试使用CurlChmod保存xml文件的文件夹:将权限设置为Maxiamaly 775
如果这不起作用,请尝试使用Curl,我刚刚编写了类似的代码,发现$doc->saveXML()只是构建了传出的xml字符串。我添加了一个文件,用于将内容写入xml文件,效果很好 file_put_contents($xmlFile, $doc->saveXML());
文件内容($xmlFile,$doc->saveXML()) 我刚刚编写了类似的代码,发现$doc->saveXML()只是构建了传出的xml字符串。我添加了一个文件,用于将内容写入xml文件,效果很好 file_put_contents($xmlFile, $doc->saveXML()); 文件内容($xmlFile,$doc->saveXML()) 将标量值(字符串)复制到变量中。然后更改变量
$qtyNode = $qtyNode->item(0)->nodeValue;
if ($itemNumberNode == $itemNumber)
{
$qtyNode++;
echo $qtyNode;
}
$qtyNode
不是DOMNode
对象,而是字符串变量
您必须直接更改DOMNode::$nodeValue属性或将变量分配给它
$qtyNode = $qtyNode->item(0);
if ($itemNumberNode == $itemNumber)
{
$qtyNode->nodeValue++;
echo $qtyNode->nodeValue;
}
将标量值(字符串)复制到变量中。然后更改变量
$qtyNode = $qtyNode->item(0)->nodeValue;
if ($itemNumberNode == $itemNumber)
{
$qtyNode++;
echo $qtyNode;
}
$qtyNode
不是DOMNode
对象,而是字符串变量
您必须直接更改DOMNode::$nodeValue属性或将变量分配给它
$qtyNode = $qtyNode->item(0);
if ($itemNumberNode == $itemNumber)
{
$qtyNode->nodeValue++;
echo $qtyNode->nodeValue;
}
您要将文件保存到哪里?本地还是远程?@bboni它位于远程服务器上。您要将文件保存在哪里?本地还是远程?@bboni它在远程服务器上。