PHP XML和数组互相转换详解


Posted in PHP onOctober 26, 2016

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文件中预定义好的实体:

< 小于号
> > 大于号
& &
' ' 单引号
" " 双引号  

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

PHP 相关文章推荐
php 获取完整url地址
Dec 20 PHP
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
Jan 06 PHP
php操作xml
Oct 27 PHP
thinkPHP实现瀑布流的方法
Nov 29 PHP
如何利用http协议发布博客园博文评论
Aug 03 PHP
Zend Framework教程之分发器Zend_Controller_Dispatcher用法详解
Mar 07 PHP
Yii中CGridView禁止列排序的设置方法
Jul 12 PHP
php中str_pad()函数用法分析
Mar 28 PHP
PHP实现Session入库/存入redis的方法
May 04 PHP
PHP实现的mysql主从数据库状态检测功能示例
Jul 20 PHP
PHP实现QQ登录的开原理和实现过程
Feb 04 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
Feb 18 PHP
PHP对XML内容进行修改和删除实例代码
Oct 26 #PHP
php array_merge_recursive 数组合并
Oct 26 #PHP
php抛出异常与捕捉特定类型的异常详解
Oct 26 #PHP
php array_map使用自定义的函数处理数组中的每个值
Oct 26 #PHP
AES加解密在php接口请求过程中的应用示例
Oct 26 #PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
Oct 25 #PHP
在Thinkphp中使用ajax实现无刷新分页的方法
Oct 25 #PHP
You might like
php 各种应用乱码问题的解决方法
2010/05/09 PHP
php+memcache实现的网站在线人数统计代码
2014/07/04 PHP
php使用 readfile() 函数设置文件大小大小的方法
2017/08/11 PHP
js以对象为索引的关联数组
2010/07/04 Javascript
javascript中最常用的继承模式 组合继承
2010/08/12 Javascript
jquery获取特定name所有选中的checkbox,支持IE9标准模式
2013/03/18 Javascript
JavaScript通过function定义对象并给对象添加toString()方法实例分析
2015/03/23 Javascript
AngularJS教程之简单应用程序示例
2016/08/16 Javascript
AngularJS应用开发思维之依赖注入3
2016/08/19 Javascript
js与jquery分别实现tab标签页功能的方法
2016/11/18 Javascript
node.js中路由,中间件,ge请求和post请求的参数详解
2017/12/26 Javascript
详解react阻止无效重渲染的多种方式
2018/12/11 Javascript
解决Vue中 父子传值 数据丢失问题
2019/08/27 Javascript
过滤器vue.filters的使用方法实现
2019/09/18 Javascript
JS深入学习之数组对象排序操作示例
2020/05/01 Javascript
Openlayers实现点闪烁扩散效果
2020/09/24 Javascript
详解Python 序列化Serialize 和 反序列化Deserialize
2017/08/20 Python
ubuntu17.4下为python和python3装上pip的方法
2018/06/12 Python
对python判断是否回文数的实例详解
2019/02/08 Python
python使用Plotly绘图工具绘制水平条形图
2020/03/25 Python
python 实现多维数组(array)排序
2020/02/28 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
2020/05/26 Python
美国购买体育赛事门票网站:TicketCity
2019/03/06 全球购物
请用用Java代码写一个堆栈
2012/01/26 面试题
不开辟用于交换数据的临时空间,如何完成字符串的逆序
2012/12/02 面试题
信息管理员岗位职责
2013/12/01 职场文书
优秀党员主要事迹
2014/01/19 职场文书
学校评语大全
2014/05/06 职场文书
2014老师三严三实对照检查材料思想汇报
2014/09/18 职场文书
党的群众路线教育实践活动对照检查剖析材料
2014/10/09 职场文书
工伤死亡理赔协议书
2014/10/20 职场文书
领导工作表现评语
2015/01/04 职场文书
2015年禁毒工作总结
2015/04/30 职场文书
Python的三个重要函数详解
2022/01/18 Python
Mysql调整优化之四种分区方式以及组合分区
2022/04/13 MySQL
uniapp开发打包多端应用完整方法指南
2022/12/24 Javascript