/**
* 输出xml字符
* @param array $values
* @return string|bool
**/
public static function arrToXml($values)
{
if (!is_array($values) || count($values) <= 0) {
return false;
}
$xml = "";
foreach ($values as $key => $val) {
if (is_numeric($val)) {
$xml .= "<" . $key . ">" . $val . "" . $key . ">";
} else {
$xml .= "<" . $key . ">" . $val . "" . $key . ">";
}
}
$xml .= "";
return $xml;
}
/**
* 输出xml字符
* @param array $values
* @return string|bool
**/
public static function arrayToXml($data, $name)
{
if (!is_array($data) || count($data) <= 0) {
return false;
}
$xml = '<?xml version="1.0" encoding="UTF-8"?>';
$xml .= '<'.$name.'>';
foreach ($data as $key => $val) {
$type = is_numeric($val) ? 'number' : 'string';
$xml .= '<' . $key . ' type="' . $type . '">' . $val . '' . $key . '>';
}
$xml .= ''.$name.'>';
return $xml;
}
/**
* 将xml转为array
* @param string $xml
* @return array|false
*/
public static function xmlToArray($xml)
{
if (!$xml) {
return false;
}
// 检查xml是否合法
$xml_parser = xml_parser_create();
if (!xml_parse($xml_parser, $xml, true)) {
xml_parser_free($xml_parser);
return false;
}
//将XML转为array
//禁止引用外部xml实体
libxml_disable_entity_loader(true);
$data = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
return $data;
}
/**
* 将array或者对象转为json
* @param string $xml
* @return array|false
*/
public static function arrToJson($array)
{
if(is_array($array)){
return json_encode($array);
} elseif(is_object($array)){
$json = json_encode($array, JSON_FORCE_OBJECT);
return $json;
}else{
return '';
}
}
/**
* 将OBJ或者对象转为ARRAY
* @param string $xml
* @return array|false
*/
public static function objToArray($object)
{
$array = array();
if (is_object($object)) {
foreach ($object as $key => $value) {
$array[$key] = $value;
}
} else {
$array = $object;
}
return $array;
}