• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP实现的数组和XML文件相互转换功能示例

    本文实例讲述了PHP实现的数组和XML文件相互转换功能。分享给大家供大家参考,具体如下:

    最近搞微信支付,微信服务器返回的都是XML文件,所以需要转换成数组,才会便于操作,好了话不多说,直接上代码:

    1. XML转数组

    /**
     * 将xml转为array
     * @param string  $xml xml字符串或者xml文件名
     * @param bool   $isfile 传入的是否是xml文件名
     * @return array  转换得到的数组
     */
    function xmlToArray($xml,$isfile=false){
      //禁止引用外部xml实体
      libxml_disable_entity_loader(true);
      if($isfile){
        if(!file_exists($xml)) return false;
        $xmlstr = file_get_contents($xml);
      }else{
        $xmlstr = $xml;
      }
      $result= json_decode(json_encode(simplexml_load_string($xmlstr, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
      return $result;
    }
    
    

    用法示例:

    $xmlDoc=ETO
    books>
     book>
     author>Jack Herrington/author>
     title>PHP Hacks/title>
     publisher>O'Reilly/publisher>
     /book>
     book>
     author>Jack Herrington/author>
     title>Podcasting Hacks/title>
     publisher>O'Reilly/publisher>
     /book>
     book>
     author>XML格式化/author>
     title>脚本之家在线工具/title>
     publisher>tools.jb51.net/publisher>
     /book>
    /books>
    ETO;
    $relarr=xmlToArray($xmlDoc);
    print_r($relarr);
    
    

    运行结果:

    Array
    (
      [book] => Array
        (
          [0] => Array
            (
              [author] => Jack Herrington
              [title] => PHP Hacks
              [publisher] => O'Reilly
            )
          [1] => Array
            (
              [author] => Jack Herrington
              [title] => Podcasting Hacks
              [publisher] => O'Reilly
            )
          [2] => Array
            (
              [author] => XML格式化
              [title] => 脚本之家在线工具
              [publisher] => tools.jb51.net
            )
        )
    )
    
    

    2. 数组转XML

    /**
     * 数组转xml字符
     * @param string  $xml xml字符串
    **/
    function arrayToXml($data){
      if(!is_array($data) || count($data) = 0){
        return false;
      }
      $xml = "xml>";
      foreach ($data as $key=>$val){
        if (is_numeric($val)){
          $xml.="".$key.">".$val."/".$key.">";
        }else{
          $xml.="".$key.">![CDATA[".$val."]]>/".$key.">";
        }
      }
      $xml.="/xml>";
      return $xml;
    }
    
    

    用法示例:

    $arrDoc= array("author"=>"XML格式化","title"=>"脚本之家在线工具","publisher"=>"tools.jb51.net");
    $xmlrel=arrayToXml($arrDoc);
    //运行结果:xml>author>![CDATA[XML格式化]]>/author>title>![CDATA[脚本之家在线工具]]>/title>publisher>![CDATA[tools.jb51.net]]>/publisher>/xml>
    
    

    PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:

    在线XML/JSON互相转换工具:
    http://tools.jb51.net/code/xmljson

    在线格式化XML/在线压缩XML
    http://tools.jb51.net/code/xmlformat

    XML在线压缩/格式化工具:
    http://tools.jb51.net/code/xml_format_compress

    XML代码在线格式化美化工具:
    http://tools.jb51.net/code/xmlcodeformat

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP针对XML文件操作技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

    希望本文所述对大家PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • 递归实现php数组转xml的代码分享
    • PHP处理数组和XML之间的互相转换
    • php实现将数组转换为XML的方法
    • php下将XML转换为数组
    • PHP中将数组转成XML格式的实现代码
    • PHP如何将XML转成数组
    • PHP将XML转数组过程详解
    • php中Array2xml类实现数组转化成XML实例
    • php实现xml转换数组的方法示例
    • PHP实现数组array转换成xml的方法
    • php实现的数组转xml案例分析
    上一篇:PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
    下一篇:PHP实现微信支付(jsapi支付)流程步骤详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PHP实现的数组和XML文件相互转换功能示例 PHP,实现,的,数组,和,XML,