小编use*_*003的帖子

SimpleXML删除节点

我有一个只运行一次的foreach循环,它让我难过.

1:我加载了一系列状态值("请求","删除"或"已购买")

2:然后我加载一个xml文件,需要循环"代码"节点并更新它们的状态,但是如果新代码是"删除"我想删除它然后转移到下一个

XML结构是......

<content>
.... lots of stuff
<codes>
<code date="xxx" status="request">xxxxx</code>
.. repeat ...
</codes>
</content>
Run Code Online (Sandbox Code Playgroud)

和PHP代码是......

$newstatus = $_POST['updates'];
$file = '../apps/templates/'.$folder.'/layout.xml';
$xml2 = simplexml_load_file($file);
foreach($xml2->codes->code as $code){
    if($code['status'] == "delete") {
        $dom=dom_import_simplexml($code);
        $dom->parentNode->removeChild($dom);
    }
}
$xml2->asXml($file);
Run Code Online (Sandbox Code Playgroud)

我暂时删除了更新,因此我可以调试删除检查.这一切都有效,但它只删除第一个删除并留下所有其他删除,即使它是一个foreach循环?任何帮助非常感谢.

php xml simplexml

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

php ×1

simplexml ×1

xml ×1