PHP - 编辑包含字符串的 XML 文件

PHP - Edit XML file that contains a string

我想更改 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 中获取非对象的 属性

$result = $xml->xpath("pedido"); 不会 return 任何结果。你需要 将您的 xpath 更改为 $result = $xml->xpath("/pedido");。这样你将得到一个包含简单 XML 元素的数组(结果的处理需要不同)。

if (isset($result[0]) && isset($result[0]->numpedido) && $result[0]->numpedido == $dilma) {
    echo 'exists';
}