• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP中数组转换为SimpleXML教程
    POST TIME:2021-10-18 04:44

    SimpleXML扩展函数提供了将XML转换为对象的工具集。这些对象处理普通的属性选择器和数组迭代器。

    示例1:

    ?php 
    // 将php数组转换为xml文档的代码
     
    //定义一个将数组转换成xml的函数。
    function arrayToXml($array, $rootElement = null, $xml = null) { 
      $_xml = $xml; 
        
      // 如果没有$rootElement,则插入$rootElement
      if ($_xml === null) { 
        $_xml = new SimpleXMLElement($rootElement !== null ? $rootElement : 'root/>'); 
      } 
        
      // 访问所有键值对 
      foreach ($array as $k => $v) { 
          
        // 如果有嵌套数组 
        if (is_array($v)) { 
            
          // 调用嵌套数组的函数
          arrayToXml($v, $k, $_xml->addChild($k)); 
          } 
            
        else { 
            
            
          $_xml->addChild($k, $v); 
        } 
      } 
        
      return $_xml->asXML(); 
    } 
      
    // 创建一个用于演示的数组 
    $my_array = array ( 
    'name' => 'GFG', 
    'subject' => 'CS', 
      
      // 创建嵌套数组。
      'contact_info' => array ( 
      'city' => 'Noida', 
      'state' => 'UP', 
      'email' => '448199179@qq.com'
      ), 
    ); 
      
    // 调用arrayToxml函数并打印结果
    echo arrayToXml($my_array); 
    ?>

    输出:

    ?xml version="1.0"?>
    root>
      name> GFG /name>
      subject> CS /subject>
      contact_info >
        city > Noida  /city >
        state > UP  /state >
        email > 448199179@qq.com /email>
      contact_info>
    root>

    可以使用array_walk_recursive()函数解决上述问题。此函数将数组转换为xml文档,其中数组的键转换为值,数组的值转换为xml的元素。

    示例2:

    ?php 
    // 将php数组转换为xml文档的代码
    //创建一个数组
    $my_array = array ( 
      'a' => 'x', 
      'b' => 'y', 
        
      // creating nested array 
      'another_array' => array ( 
        'c' => 'z', 
      ), 
    ); 
      
    // 这个函数使用root元素创建一个xml对象。
    $xml = new SimpleXMLElement('root/>'); 
      
    // 这个函数重新将数组元素添加到xml文档中
    array_walk_recursive($my_array, array ($xml, 'addChild')); 
      
    // 这个函数打印xml文档。 
    print $xml->asXML(); 
    ?>

    输出:

    ?xml version =“1.0”?> root> 
        x> a / x> 
        y> b / y> 
        z> c / z> / root>

    注:

    如果系统生成错误类型:

    PHP Fatal error: Uncaught Error: Class ‘SimpleXMLElement' not found in /home/6bc5567266b35ae3e76d84307e5bdc78.php:24 ,

    那么只需安装php-xml,php-simplexml软件包。

    您可能感兴趣的文章:
    • PHP简单实现解析xml为数组的方法
    • PHP实现的数组和XML文件相互转换功能示例
    • PHP实现使用DOM将XML数据存入数组的方法示例
    • php实现XML和数组的相互转化功能示例
    • php实现xml转换数组的方法示例
    • PHP数组生成XML格式数据的封装类实例
    上一篇:实例讲解php实现多线程
    下一篇:PHP的PDO预处理语句与存储过程
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信