利用PHP将XML字符串转换为数组
由于某写接口返回的数据时xml格式,因此需要将他转换为数组格式方便处理。 本文章介绍如何将xml字符串转换为数组。
xml字符转数组
以下是参考代码:
/**
* xml字符转数组
* @param string $xml xml字符串
**/
function xmlToArray() {
$xml= "<xml><seroid>zehjsd7127767108jasdh</seroid><sername>this is name</sername></xml>";//XML文件
$objectxml = simplexml_load_string($xml);//将XML字符串转换为对象
$xmljson= json_encode($objectxml );//将对象转换个JSON
$xmlarray=json_decode($xmljson,true);//将json转换成数组
}
数组转xml字符
以下是参考代码:
/**
* 数组转xml字符
* @param string $xml xml字符串
**/
function arrayToXml($data){
if(!is_array($data) || count($data) <= 0){
return false;
}
$xml = "<xml>";
foreach ($data as $key=>$val){
if (is_numeric($val)){
$xml.="<".$key.">".$val."</".$key.">";
}else{
$xml.="<".$key."><![CDATA[".$val."]]></".$key.">";
}
}
$xml.="</xml>";
return $xml;
}