PHP中如何让XML转换成数组

现在基于API的开发越来越多,因为很多时候我们需要用到其他人提供的数据接口,如果是JSON还容易一些,我们可以使用json_decode()函数进行解析,但是如果遇到返回数据是XML怎么取其中的数据呢?今天波波就分享一个使用PHP将xml转换成数组的方法。

PHP源代码:

//将XML转为array
  function xmlToArray($xml)
  {  
    //禁止引用外部xml实体
    libxml_disable_entity_loader(true);
    $values = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);    
    return $values;
  }

其实通过PHP除了可以将XML转换成数组外,也可以将数组转换成XML,下面属于扩展,仅供参考:

//数组转XML
  function arrayToXml($arr)
  {
    $xml = "<xml>";
    foreach ($arr as $key=>$val)
    {
      if (is_numeric($val)){
        $xml.="<".$key.">".$val."</".$key.">";
      }else{
         $xml.="<".$key."><![CDATA[".$val."]]></".$key.">";
      }
    }
    $xml.="</xml>";
    return $xml;
  }

以上就是波波今天的分享内容,希望对需要的朋友有所帮助。

未经允许不得转载:波波助手 » PHP中如何让XML转换成数组

赞 (0)

牛人热评 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址