数组转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;
}转载请注明来源地址:小川编程 » https://www.youhutong.com/index.php/article/index/216.html
1、本站发布的内容仅限用于学习和研究目的.请勿用于商业或非法用途,下载后请24小时内删除。
2、本站所有内容均不能保证其完整性,不能接受请勿购买或下载,如需完整程序,请去其官方购买正版使用
3、本站联系方式Email:admin@youhutong.com ,收到邮件会第一时间处理。
4、如侵犯到任何版权问题,请立即告知本站(立即在线告知),本站将及时删除并致以最深的歉意

