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

php simpleXMLElement与array的相互转换

admin9年前 (2017-02-13)开发素材1714
<?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的相互转换” 的相关文章

H-ui前端开发

H-ui.2.0.zip 下载...

ThinkPHP二级联动开发demo下载

ThinkPHP二级联动开发demo下载

ThinkPHP二级联动.zip...

10个顶级的CSS UI开源框架

10个顶级的CSS UI开源框架

随着CSS3和HTML5的流行,我们的WEB页面不仅需要更人性化的设计理念,而且需要更酷的页面特效和用户体验。作为开发者,我们需要了解一些宝贵的CSS UI开源框架资源,它们可以帮助我们更快更好地实现一些现代化的界面,包括一些移动设备的网页界面风格设计。本文分享了10个顶级的CSS UI开源框架,有...

Eclipse的Aptana studio插件安装

Eclipse安装Aptana插件【在线安装】1. 在线安装:Help->Install New Software...->Add...->Name: "Aptana", Location: http:...

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

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

发表评论

访客

看不清,换一张

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