当前位置:首页 > 开发素材 > 正文内容

php simpleXMLElement与array的相互转换

admin9年前 (2017-02-13)开发素材1719
<?php  
function xmlToArray($simpleXmlElement){  
    $simpleXmlElement=(array)$simpleXmlElement;  
    foreach($simpleXmlElement as $k=>$v){  
        if($v instanceof SimpleXMLElement ||is_array($v)){  
            $simpleXmlElement[$k]=xmlToArray($v);  
        }  
    }  
    return $simpleXmlElement;  
}  
$simxml=simplexml_load_file('./01.xml');  
//print_r(xmlToArray($simxml));  
/* 
 * 数组转化xml   
 * parame 数组 
 * $node  nodename 默认加在根节点 
 */  
function ArrayToxML($arr,$node='root'){  
    if($node=='root'){  
        $simpleXmlElemnet=new SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><root></root>');  
    }else{  
        $simpleXmlElemnet=$node;  
    }  
    foreach($arr as $k=>$v){  
        if(is_array($v)){  
            ArrayToxML($v,$simpleXmlElemnet->addChild($k));//创建节点 并加在他的后面  
        }else{  
            if(is_numeric($k)){  
                $simpleXmlElemnet->addChild('item',$v);  
            }else{  
                $simpleXmlElemnet->addChild($k,$v);  
            }  
        }  
    }  
    return $simpleXmlElemnet;  
}  
$arr=array('人'=>'人民好','age'=>26,  
        'job'=>array('title'=>'经理','salary'=>44444,  
                'team'=>array('小红','小狗','小张')));  
$xmlElement=ArrayToxML($arr);  
header('Content-Type:text/xml');  
echo $xmlElement->saveXML();  
?>  

顶
0
踩
0
 
 
上一篇为自己的网站制作一个rss API接口
下一篇php+socket模拟get,post请求
参考知识库


分享到:

扫描二维码推送至手机访问。

版权声明:本文由云河空间发布,如需转载请注明出处。

本文链接:http://yuyunhe.cn/index.php/post/225.html

分享给朋友:

“php simpleXMLElement与array的相互转换” 的相关文章

css hack

由于不同的浏览器对CSS的支持及解析结果不一样,还由于CSS中的优先级的关系。我们就可以根据这个来针对不同的浏览器来写不同的CSS。CSS Hack大致有3种表现形式,CSS类内部Hack、选择器Hack以及HTML头部引用(if IE)Hack,CSS Hack主要针对类内部Hack:比如 IE6...

H-ui 文件夹命名规范

admin     后台管理   app       应用   article   资讯  &...

iPhone/iPad/Android UI尺寸规范

iPhone/iPad/Android UI尺寸规范

iPhone界面尺寸设备分辨率PPI状态栏高度导航栏高度标签栏高度iPhone6 plus设计版1242×2208 px401PPI60px132px146pxiPhone6 plus放大版1125×2001 px401PPI54px132px146pxiPhone6 plus物理版1080×192...

多行文本溢出显示省略号(...)的方法

现在的浏览器都支持text-overflow:ellipsis属性,用来实现单行文本的溢出显示省略号,但是这个属性并不支持多行文本。那么有没有方法在多行文本上实现同样的效果呢?-webkit-line-clampWebkit支持一个名为-webkit-line-clamp的属性,他其实是一个WebK...

CSS3移入图片放大效果

CSS3移入图片放大效果引言我们有时看到一些网站有的照片,当我们将鼠标移入的时候,会有个放大的动画效果,今天我就来讲讲这个效果是如何实现的。demo最终实现效果:点击进入涉及知识点transform : scale()transition如何实现1Ps : demo 以 Webkit 为例,其它浏览...

Composer在windows下的安装使用

Composer是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。官网:https://getcomposer.org/中文相关网站:http://www.phpcomposer...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。