Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP在XML中按id删除项目_Php_Xml - Fatal编程技术网

使用PHP在XML中按id删除项目

使用PHP在XML中按id删除项目,php,xml,Php,Xml,我想按XML中的id删除节点我的代码如下: $id=$_GET["id"]; $usuarios= simplexml_load_file('cart.xml'); if($_GET["action"] == "delete"){ foreach($usuarios->carro as $elemento){ if($elemento['id'] == $id) { echo '<script>alert("delete")<

我想按XML中的id删除节点我的代码如下:

  $id=$_GET["id"];
  $usuarios= simplexml_load_file('cart.xml');
  if($_GET["action"] == "delete"){
    foreach($usuarios->carro as $elemento){
      if($elemento['id'] == $id) {
        echo '<script>alert("delete")</script>';
        unset($elemento['id']);
      }
    }
  }
例如,我想删除
id=“2”
,因此输出为:

<?xml version="1.0"?>
<info>
<carro id="0">
 <usuario>alex</usuario>
 <producto>instict</producto>
 <Size>CH</Size>
 <cantidad>1</cantidad>
 <precio>100</precio>
</carro>
<carro id="1">
 <usuario>alex</usuario>
 <producto>instict</producto>
 <Size>G</Size>
 <cantidad>1</cantidad>
 <precio>100</precio>
</carro>

<carro id="3">
 <usuario>Gera</usuario>
 <producto>instict</producto>
 <Size>M</Size>
 <cantidad>1</cantidad>
 <precio>100</precio>
</carro>
</info>

亚历克斯
灌输
中国
1.
100
亚历克斯
灌输
G
1.
100
杰拉
灌输
M
1.
100
更改
$usuarios->carro as$key=>$elemento

然后

unset($usuarios->carro[$key])

然后将结果作为字符串写入新文件


file\u put\u内容('newfile.xml',$usuarios->asXML())

嗨,谢谢你的回答,我照你说的做了,但输出是一样的,这里是我的代码$id=$\u GET[“id”]$usuarios=simplexml\u load\u文件('cart.xml');if($\u GET[“action”]==“delete”){foreach($usuarios->carro as$key=>$elemento){if($elemento['id']==id){unset($usuarios->carro[$key]);文件内容('newfile.xml',$usuarios->asXML());echo'alert(“Encontrado”);}}
<?xml version="1.0"?>
<info>
<carro id="0">
 <usuario>alex</usuario>
 <producto>instict</producto>
 <Size>CH</Size>
 <cantidad>1</cantidad>
 <precio>100</precio>
</carro>
<carro id="1">
 <usuario>alex</usuario>
 <producto>instict</producto>
 <Size>G</Size>
 <cantidad>1</cantidad>
 <precio>100</precio>
</carro>

<carro id="3">
 <usuario>Gera</usuario>
 <producto>instict</producto>
 <Size>M</Size>
 <cantidad>1</cantidad>
 <precio>100</precio>
</carro>
</info>