doujiao3016 2016-07-11 15:58
浏览 75
已采纳

PHP:按属性从xml中删除节点

suppose I have an xml like this:

<products>
    <product id="1">
        <name>aaa</name>
        <producturl>aaa</producturl>
        <bigimage>aaa</bigimage>
        <description>aaa</description>
        <price>aaa</price>
        <categoryid1>aaa</categoryid1>
        <instock>aaa</instock>
    </product>
    <product id="2">
        <name>aaa</name>
        <producturl>aaa</producturl>
        <bigimage>aaa</bigimage>
        <description>aaa</description>
        <price>aaa</price>
        <categoryid1>aaa</categoryid1>
        <instock>aaa</instock>
    </product>
</products>

and I need to delete certain node depending on the id attribute, if this attribute is in an array.

I've tried different ways, but the xml is outputted always as the original one!

My code so far:

<?php header("Content-type: text/xml");
$url="http://www.aaa.it/aaa.xml";
$url=file_get_contents($url);
$array=array("1","4","5");
$doc=new SimpleXMLElement($url);
foreach($doc->product as $product){
    if(!in_array($product['id'],$array)){
        $dom=dom_import_simplexml($product);
        $dom->parentNode->removeChild($dom);
        // unset($doc->product->$product);
    }
}
echo $doc->asXml(); ?>

Thanks a lot everyone.

  • 写回答

1条回答 默认 最新

      报告相同问题?

      相关推荐 更多相似问题

      悬赏问题

      • ¥15 如何修改为正确的?求解决
      • ¥15 django访问管理员界面问题
      • ¥20 python homework完成
      • ¥20 求解 多变量系统的最小二乘辨识问题的推导以及matlab仿真
      • ¥15 arduino esp8266 Blinker编译报问题
      • ¥15 ubuntu18.04运行模型,直接死机
      • ¥30 (问卷调查)莫名其妙丢了u盘,你们会是什么心理状态
      • ¥100 Spark+android应⽤案例
      • ¥15 yolov8 目标检测 重叠 遮挡
      • ¥20 微信聊天记录如何部署到服务器上