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';
}
我想更改 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';
}