PHP实现数组和XML文件转换

来源:互联网 发布:dha哪个牌子好 知乎 编辑:程序博客网 时间:2024/06/06 12:38

最近搞微信支付,微信服务器返回的都是XML文件,所以需要转换成数组,才会便于操作,好了话不多说,直接上代码:

1.XML转数组

/** * 将xml转为array * @param  string $xml xml字符串或者xml文件名 * @param  bool $isfile 传入的是否是xml文件名 * @return array    转换得到的数组 */function xmlToArray($xml,$isfile=false){   //禁止引用外部xml实体libxml_disable_entity_loader(true);if($isfile){if(!file_exists($xml)) return false;$xmlstr = file_get_contents($xml);}else{$xmlstr = $xml;}$result= json_decode(json_encode(simplexml_load_string($xmlstr, 'SimpleXMLElement', LIBXML_NOCDATA)), true);        return $result;}

2.数组转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; }

原创粉丝点击