PHP XML和数组互相转换详解

6年以前  |  阅读数:913 次  |  编程语言:PHP 

PHP 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;
      }

      //将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;
      }

五个在XML文件中预定义好的实体:

<

<

小于号

大于号

&

&

'

'

单引号

"

"

双引号

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8