1.   阿里云服务器1888元代金券领取
  2.   本网站所有源码包解压密码:www.youhutong.com
会员登录  帮助问答

php 数组转xml字符串、xml字符串转数组方法案例

小川 技术文章
郑重声明:
1、本站源码仅供个人学习研究和交流使用,请于下载后二十四小时内删除
2、本站大多资源来源于互联网、用户分享,仅供学习交流使用,本站不提供任何技术支持
3、本站联系方式Email:admin@youhutong.com ,收到邮件会第一时间处理。
4、如侵犯到任何版权问题,请立即告知本站(立即在线告知),本站将及时删除并致以最深的歉意

数组转xml字符串方法:两种方法

/** 
 * 数组转xml字符串方法1
 * @param  arary $data 数组数据
 * @param  boolean $type 是否需要根节
 */  
function arrayToXml($data, $type=true){  
	if(!is_array($data) || count($data) <= 0) return false;  
	$xml = '';
	if($type) $xml .= '<xml>';
	foreach($data as $item => $one){
        if(is_array($one)){
            $child = arrayToXml($one, false);
            $xml .= "<$item>$child</$item>";
        }else{
        	if(is_numeric($one)){
        		$xml .= "<$item>$one</$item>";
        	}else{
        		$xml .= "<$item><![CDATA[$one]]></$item>";
        	}
        }
    }
    if($type) $xml .= "</xml>";
    return $xml;
}  





/** 
 * 数组转xml字符串方法2
 * @param  arary $data 数组数据
 * @param  boolean $type 是否需要根节
 */  
function arrayToXml($data, $type=true){
	if(!is_array($data) || count($data) <= 0) return false;
	$xml = '';
    $fn = function ($data, $type) use(&$fn){
    	$str = '';
    	if($type) $str .= '<xml>';
        foreach ($data as $item => $one) {
        	if(is_array($one)){
        		$do_str = $fn($one, false);
        		$str .= "<$item>$do_str</$item>";
        	}else{
        		if(is_numeric($one)){
	        		$str .= "<$item>$one</$item>";
	        	}else{
	        		$str .= "<$item><![CDATA[$one]]></$item>";
	        	}
        	}
        }
        if($type) $str .= '</xml>';
        return $str;
    };
    
    $xml .= $fn($data, $type);
    return $xml;
}


xml字符串转数组方法:

/** 
 * xml字符串转数组
 * @param  string   $xml xml字符串 
 */ 
function xmlToArray($xml){
    $obj = simplexml_load_string($xml,'SimpleXMLElement', LIBXML_NOCDATA);
    $json = json_encode($obj);
    $data = json_decode($json, true);
    return $data;
}


 浏览器启用弹出窗口过滤功能,将无法跳转到下载页。在浏览器地址栏右边符号提示处点击允许就可以了!
升级为VIP会员,有效期内免费下载本站所有VIP源码  点击升级为VIP

转载请注明来源地址:小川编程 » http://www.youhutong.com/index.php/article/index/216.html

郑重声明:
1、本站源码仅供个人学习研究和交流使用,请于下载后二十四小时内删除
2、本站大多资源来源于互联网、用户分享,仅供学习交流使用,本站不提供任何技术支持
3、本站联系方式Email:admin@youhutong.com ,收到邮件会第一时间处理。
4、如侵犯到任何版权问题,请立即告知本站(立即在线告知),本站将及时删除并致以最深的歉意

( 0 )个小伙伴在吐槽
    登录帐号  如果已经登录请刷新! 发表我的评论
    表情