返回的xml转换php,XML转JSON---⽀付返回XML转
换代码
// ********XML转JSON⽅法
function xml_to_json($source) {
if(is_file($source)){ //传的是⽂件,还是xml的string的判断
$xml_array=simplexml_load_file($source);
}else{
$source=$this->uncdata($source);
$xml_array=simplexml_load_string($source);
}
$json = json_encode($xml_array); //php5,以及以上,如果是更早版本,请查看JSON.php
return $this->decodeUnicode($json);
}
function decodeUnicode($str)
{
return preg_replace_callback('/\\\\u([0-9a-f]{4})/i',
create_function(
'$matches',代码转换
'return mb_convert_encoding(pack("H*", $matches[1]), "UTF-8", "UCS-2BE");'
),
$str);
}
function uncdata($xml)
{
// States:
//
// 'out'
// ' $v) {
// Deal with "state".
switch ( $state ) {
case 'out':
if ( '' == $v ) {
$new_xml .= str_replace('>','>',
str_replace('>','
str_replace('"','"',
str_replace('&','&', $cdata))));
$state = 'out';
} else {
$cdata .= $state . $v; $state = 'in';
}
break;
} // switch
}
//
/
/ Return.
//
return $new_xml;
}
//*********/**************
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论