php数组与xml互转类

  • 代码:
    /**
    * @desc:xml与array互转
    * @author [Lee] <[<[email protected]>]>
    * @property
    *      data 传入的数据
    * @method
    *      arraytoxml  数组转xml  参数:data 返回:xml
    *      arraytoxml  xml转数组  参数:xml  返回:data
    */
    class xmlarray{
    private $data;  #  传入数据
    /*
     @desc:内部方法 递归转换数组成xml格式
     @param data 传入的数组
     @return str 返回的xml身体部分
     */
    private function change($data) {
        $str="";
        foreach($data as $k=>$v){
            $str .="<".$k.">";
            if(is_array($v) || is_object($v)){
                $str .= $this->change($v);
            }else{
                $str .=$v;
            }
            $str .="</".$k.">";
        }
        return $str;
    }
    /*
     @desc:构造方法,实例化数据
     @param data 传入的数据
     */
    public function __construct($data){
        $this->data = $data;
    }
    /*
     @desc:数组转xml
     @return xml
     */
    public function arraytoxml() {
        $xml  =‘<!--xml version="1.0" encoding="utf8" -->‘;
        $xml .= $this->change($this->data);
        return $xml;
    }
    /*
     @desc:xml转数组
     @return arr
     */
    public function xmltoarray(){
        $obj = simplexml_load_string($this->data, ‘SimpleXMLElement‘, LIBXML_NOCDATA);
        $json = json_encode($obj);
        $arr = json_decode($json, true);
        return $arr;
    }
    }
  • 测试:
    $str = ‘<!--xml version="1.0" encoding="utf8" --><document><name>lee</name><sex>male</sex></document>‘;
    $xmlarray = new xmlarray($str);
    $ret = $xmlarray->xmltoarray();
    var_dump($ret);
  • 输出:
    array(2) {
    ["name"]=>
    string(3) "lee"
    ["sex"]=>
    string(4) "male"
    }
  • 原文地址:http://blog.51cto.com/12173069/2126752

    时间: 2024-11-09 09:25:30

    php数组与xml互转类的相关文章

    javascript、php数组对象互转类

    一.javascript: 代码: /* @desc:数组和对象互转类 @param data 待转换的数据 */ function arrobj(data){ this.data = data /* @desc:对象转数组 */ this.objtoarr = function(){ var data = this.data var arr = new Array() for(var i in data){ for(var j in data[i]){ arr[j] = {} } } for(

    XML 和 List 互转类

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml; namespace XmlHelper { /// <summary> /// 实体转Xml,Xml转实体类 /// </summary> /// <typeparam name="T"></typeparam> public cla

    C# 调用API接口处理公共类 自带JSON实体互转类

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Net.Security; using System.Security.Cryptography.X509Certificates; using System.Text; using System.Threading.Tasks; using System.Web; n

    json、javaBean、xml互转的几种工具介绍

    Json.javaBean.xml互转的几种工具介绍 工作中经常要用到Json.JavaBean.Xml之间的相互转换,用到了很多种方式,这里做下总结,以供参考. 现在主流的转换工具有json-lib.jackson.fastjson等,我为大家一一做简单介绍,主要还是以代码形式贴出如何简单应用这些工具的,更多高级功能还需大家深入研究. 首先是json-lib,算是很早的转换工具了,用的人很多,说实在现在完全不适合了,缺点比较多,依赖的第三方实在是比较多,效率低下,API也比较繁琐,说他纯粹是因

    json、javaBean、xml互转的几种工具介绍 (转载)

    工作中经常要用到Json.JavaBean.Xml之间的相互转换,用到了很多种方式,这里做下总结,以供参考. 现在主流的转换工具有json-lib.jackson.fastjson等,我为大家一一做简单介绍,主要还是以代码形式贴出如何简单应用这些工具的,更多高级功能还需大家深入研究. 首先是json-lib,算是很早的转换工具了,用的人很多,说实在现在完全不适合了,缺点比较多,依赖的第三方实在是比较多,效率低下,API也比较繁琐,说他纯粹是因为以前的老项目很多人都用到它.不废话,开始上代码. 需

    JAVA bean与XML互转---XStream

    最近在项目中遇到了Java bean 和XML互转的需求, 本来准备循规蹈矩使用dom4j忽然想起来之前曾接触过的XStream, 一番研究豁然开朗,利器啊利器, 下来就XStream的一些用法与大家分享. XStream是大名鼎鼎的thought works下的一个开源项目, 主要功能是提供JAVA bean 和XML文本之间的转换,另外还提供JAVA bean和JSON之间的转换,这个不在本次讨论的范围内. XStream进行转换是非常简单的,对JAVA bean没有任何要求: 不要求对pr

    JAVA bean与XML互转的利器---XStream

    最近在项目中遇到了JAVA bean 和XML互转的需求, 本来准备循规蹈矩使用dom4j忽然想起来之前曾接触过的XStream, 一番研究豁然开朗,利器啊利器, 下来就XStream的一些用法与大家分享. XStream是大名鼎鼎的thought works下的一个开源项目, 主要功能是提供JAVA bean 和XML文本之间的转换,另外还提供JAVA bean和JSON之间的转换,这个不在本次讨论的范围内. XStream进行转换是非常简单的,对JAVA bean没有任何要求: 不要求对pr

    一个C#的XML数据库访问类

    原文地址:http://hankjin.blog.163.com/blog/static/33731937200942915452244/ 程序中不可避免的要用到配置文件或数据,对于数据量比较小的程序,部署数据库花费的时间就显得浪费了,因此用XML来存储不妨为一个很好的办法,而且结合C#的DataSet,我们可以很轻易的封装出一个代码简单而功能强大的数据访问类XMLConfigconfig.xml<root>  <table1>    <rowName1>hello&l

    有没有最简单的xml转换java类的方法

    原文:有没有最简单的xml转换java类的方法 代码下载地址:http://www.zuidaima.com/share/1550463237098496.htm 手动编码太烦人了,每次新增一个java entity类都需要写一个解析器. 有没有最简单的xml转换java类的方法,布布扣,bubuko.com