PHP - Редактировать XML-файл, содержащий строку - PullRequest
0 голосов
/ 25 мая 2018

Я хочу изменить строку в 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>
*/

Редактировать: Я получаю ошибку:

Примечание: неопределенное смещение: 3 в /var/www/html/restaurante/cmae/rita.php в строке 43

Примечание: попытка получить свойство необъекта в / var / www / html / restaurante / cmae / rita.php на линии 43

1 Ответ

0 голосов
/ 25 мая 2018

$result = $xml->xpath("pedido"); не вернет никакого результата.Вам нужно изменить свой xpath на $result = $xml->xpath("/pedido");.Таким образом, у вас будет массив с простыми элементами XML (обработка результата должна быть другой).

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