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

php simpleXMLElement与array的相互转换

admin8年前 (2017-02-13)开发素材1695
<?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请求
参考知识库


分享到:

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

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

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

分享给朋友:

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

ThinkPHP二级联动开发demo下载

ThinkPHP二级联动开发demo下载

ThinkPHP二级联动.zip...

10个顶级的CSS UI开源框架

10个顶级的CSS UI开源框架

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

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...

php生成二维码的几种方式整理及使用实例

php生成二维码的几种方式整理及使用实例

本文整理了一些php生成二维码的方式:1.google开放api;2.php类库PHP QR Code;3.libqrencode;4.QRcode Perl CGI & PHP scripts感兴趣的朋友可以参考下哈1.google开放api 复制代码代码如下:$urlToEnc...

50个网址助你发现高质量图标

50个网址助你发现高质量图标

高品质的图标总能让网页设计项目事半功倍,网页设计师也可以将注意力集中到更重要的地方。今天我们整合了50个免费的的高素质图标站点,让你再也不用为没有图标用而烦恼,不论是设计网页、应用还是制作信息图,图标信手拈来!当然,小图标本身的应用范畴远不止于此。社交图片、名片设计、幻灯片设计、横幅标语、海报设计,...

发表评论

访客

看不清,换一张

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