您当前的位置: 首页 >  ar
  • 0浏览

    0关注

    1477博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

php 如何将xml转为数组array

软件工程小施同学 发布时间:2017-04-12 23:48:06 ,浏览量:0

/**
 * xml转化为数组
 * @param  [type] $xml [description]
 * 
 *     
 *     
 * 
 * @return [type]      [description]
 *Array
(
    [0] => Array
        (
            [tag] => APPID
            [attributes] => 
            [val] => wx495813085bb41c7a
            [level] => 2
        )

    [1] => Array
        (
            [tag] => ATTACH
            [attributes] => 
            [val] => 4757,10
            [level] => 2
        )
)
 * 
 */
function xml_to_array($xml){
     // 创建解析器
   $parser = xml_parser_create();
     // 将 XML 数据解析到数组中
   xml_parse_into_struct($parser, $xml, $vals, $index);
     // 释放解析器
   xml_parser_free($parser);
     // 数组处理
   $arr = array();
   $t=0;
   foreach($vals as $value) {
       $type = $value['type'];
       $tag = $value['tag'];
       $level = $value['level'];
       $attributes = isset($value['attributes'])?$value['attributes']:"";
       $val = isset($value['value'])?$value['value']:"";
       switch ($type) {
          case 'open':
          if ($attributes != "" || $val != "") {
             $arr[$t]['tag'] = $tag;
             $arr[$t]['attributes'] = $attributes;
             $arr[$t]['level'] = $level;
             $t++;
         } 
         break;
         case "complete":
         if ($attributes != "" || $val != "") {
             $arr[$t]['tag'] = $tag;
             $arr[$t]['attributes'] = $attributes;
             $arr[$t]['val'] = $val;
             $arr[$t]['level'] = $level;
             $t++;
         } 
         break;
     } 
 } 
 return $arr;
}
关注
打赏
1665320866
查看更多评论
立即登录/注册

微信扫码登录

0.0434s