我想在XML文件中更改一行,其中包含通过POST获得的代码。
我正在寻找一种在XML文件上查找文件的方法。包含代码的目录,然后更改该行。
有人可以帮助我吗?
我的PHP代码:
$files = scandir('xml/.'); // List files
foreach($files as $file) {
if($file == '.' || $file == '..') continue;
$xml = simplexml_load_file("xml/".$file);
$result = $xml->xpath("pedido");
if($result[3]->numpedido == $dilma) {
echo "It exists!";
}
}
/* My XML Looks like this
<pedido>
<cliente>João</cliente>
<mesa>34</mesa>
<hora>13:01:10</hora>
<numpedido>6780110</numpedido>
<lista>Baiao, Frango, Porco, e Macaxeira</lista>
<status>Aberto</status>
</pedido>
*/
编辑:我得到的错误是:
注意:未定义的偏移量:第43行/var/www/html/restaurante/cmae/rita.php中的3
注意:尝试在第43行的/var/www/html/restaurante/cmae/rita.php中获取非对象的属性
答案 0 :(得分:-1)
$result = $xml->xpath("pedido");
不会返回任何结果。你需要
将您的xpath更改为$result = $xml->xpath("/pedido");
。这样你将拥有一个包含简单XML元素的数组(结果的处理需要不同)。
if (isset($result[0]) && isset($result[0]->numpedido) && $result[0]->numpedido == $dilma) {
echo 'exists';
}