douchensou6969 2014-10-24 03:38
浏览 56
已采纳

在XML文件中分解属性

I have an XML with attribute like this:

<products>
<product ProductName="One" ProductCategory="Software::Utilities::Email">
<product ProductName="Two" ProductCategory="Software::Video::Editing">
<product ProductName="Three" ProductCategory="Software::Audio::Converter">
</products>

And how can I explode the "ProductCategory" attribute and separated it like this:

<products>
<product ProductName="One" ProductCategory="Software">
<product ProductName="One" ProductCategory="Utilities">
<product ProductName="One" ProductCategory="Email">
<product ProductName="Two" ProductCategory="Software">
<product ProductName="Two" ProductCategory="Video">
<product ProductName="Two" ProductCategory="Editing">
<product ProductName="Three" ProductCategory="Software">
<product ProductName="Three" ProductCategory="Audio">
<product ProductName="Three" ProductCategory="Converter">
</products>
  • 写回答

2条回答 默认 最新

  • drdr123456 2014-10-24 04:26
    关注

    An Example for you

    <?php
    $string = <<<XML
    <products>
        <product ProductName="One" ProductCategory="Software::Utilities::Email"></product>
        <product ProductName="Two" ProductCategory="Software::Video::Editing"></product>
        <product ProductName="Three" ProductCategory="Software::Audio::Converter"></product>
    </products>
    XML;
    
    $xml = simplexml_load_string($string);
    $obj = json_decode(json_encode($xml), true);
    
    $new_xml = '<products>';
    
    foreach($obj['product'] as $val){
        $name = $val['@attributes']['ProductName'];
        $pro = explode('::', $val['@attributes']['ProductCategory']);
        foreach($pro as $k=>$v){
            $new_xml .= '<product ProductName="'.$name.'" ProductCategory="'.$v.'"></product>';
        }
    }
    $new_xml .= '</products>';
    $file = fopen("test.xml","w");
    fwrite($file, $new_xml);
    fclose($file);
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算