PHP中数组转换为SimpleXML教程


Posted in PHP onJanuary 27, 2019

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 相关文章推荐
用PHP实现小型站点广告管理(修正版)
Oct 09 PHP
帖几个PHP的无限分类实现想法~
Jan 02 PHP
基于php常用正则表达式的整理汇总
Jun 08 PHP
php的curl封装类用法实例
Nov 07 PHP
织梦sitemap地图实时推送给百度的教程
Aug 03 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
Oct 21 PHP
PHP+apc+ajax实现的ajax_upload上传进度条代码
Jan 25 PHP
微信公众号实现会员卡领取功能
Jun 08 PHP
php7函数,声明,返回值等新特性介绍
May 25 PHP
PHP获取本周所有日期或者最近七天所有日期的方法
Jun 20 PHP
PHP面向对象程序设计继承用法简单示例
Dec 28 PHP
php实现商城购物车的思路和源码分析
Jul 23 PHP
实例讲解php实现多线程
Jan 27 #PHP
php中访问修饰符的知识点总结
Jan 27 #PHP
实例讲解php将字符串输出到HTML
Jan 27 #PHP
PHP常见加密函数用法示例【crypt与md5】
Jan 27 #PHP
PHP基于GD2函数库实现验证码功能示例
Jan 27 #PHP
PHP的PDO事务与自动提交
Jan 24 #PHP
PHP的PDO连接讲解
Jan 24 #PHP
You might like
PHP数组生成XML格式数据的封装类实例
2016/11/10 PHP
对于Laravel 5.5核心架构的深入理解
2018/02/22 PHP
浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法
2019/10/12 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
基于jQuery的仿flash的广告轮播代码
2010/11/04 Javascript
Javascript中定义方法的另类写法(批量定义js对象的方法)
2011/02/25 Javascript
Web表单提交之disabled问题js解决方法
2015/01/13 Javascript
JavaScript下的时间格式处理函数Date.prototype.format
2016/01/27 Javascript
两种方法解决javascript url post 特殊字符转义 + &amp; #
2016/04/13 Javascript
jQuery自定义数值抽奖活动代码
2016/06/11 Javascript
JS函数多个参数默认值指定方法分析
2016/11/28 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
2017/02/12 Javascript
vue 通过下拉框组件学习vue中的父子通讯
2017/12/19 Javascript
JS中的JSON对象的定义和取值实现代码
2018/05/09 Javascript
vue实现自定义H5视频播放器的方法步骤
2019/07/01 Javascript
JavaScript中0、空字符串、'0'是true还是false的知识点分享
2019/09/16 Javascript
使用webpack/gulp构建TypeScript项目的方法示例
2019/12/18 Javascript
echarts实现获取datazoom的起始值(包括x轴和y轴)
2020/07/20 Javascript
vue 实现超长文本截取,悬浮框提示
2020/07/29 Javascript
Python输出PowerPoint(ppt)文件中全部文字信息的方法
2015/04/28 Python
Python操作SQLite数据库的方法详解
2017/06/16 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
2018/04/21 Python
Python使用pyshp库读取shapefile信息的方法
2018/12/29 Python
PyCharm如何导入python项目的方法
2020/02/06 Python
Python爬虫之Selenium中frame/iframe表单嵌套页面
2020/12/04 Python
CSS3条纹背景制作的实战攻略
2016/05/31 HTML / CSS
存储过程和sql语句的优缺点
2014/07/02 面试题
存储过程和函数的区别
2013/05/28 面试题
计算机专业自荐信
2013/10/14 职场文书
先进集体事迹材料范文
2014/12/25 职场文书
2015年入党决心书
2015/02/05 职场文书
毕业生个人自荐书
2015/03/05 职场文书
大学军训通讯稿(2016最新版)
2015/12/21 职场文书
CocosCreator ScrollView优化系列之分帧加载
2021/04/14 Python
Python anaconda安装库命令详解
2021/10/16 Python
python运行脚本文件的三种方法实例
2022/06/25 Python