'; forEach($array as $k=>$v){ $xml.='<'.$k.'>'; } $xml.=''; return $xml; } public static function dataRecodes($title,$data){ $handler = fopen('result.txt','a+'); $content = "================".$title."===================\n"; if(is_string($data) === true){ $content .= $data."\n"; } if(is_array($data) === true){ forEach($data as $k=>$v){ $content .= "key: ".$k." value: ".$v."\n"; } } $flag = fwrite($handler,$content); fclose($handler); return $flag; } public static function parseXML($xmlSrc){ if(empty($xmlSrc)){ return false; } $array = array(); $xml = simplexml_load_string($xmlSrc); $encode = self::getXmlEncode($xmlSrc);//$this->getXmlEncode($xmlSrc); if($xml && $xml->children()) { foreach ($xml->children() as $node){ //有子节点 if($node->children()) { $k = $node->getName(); $nodeXml = $node->asXML(); $v = substr($nodeXml, strlen($k)+2, strlen($nodeXml)-2*strlen($k)-5); } else { $k = $node->getName(); $v = (string)$node; } if($encode!="" && $encode != "UTF-8") { $k = iconv("UTF-8", $encode, $k); $v = iconv("UTF-8", $encode, $v); } $array[$k] = $v; } } return $array; } //获取xml编码 function getXmlEncode($xml) { $ret = preg_match ("/]* encoding=\"(.*)\"[^>]* ?>/i", $xml, $arr); if($ret) { return strtoupper ( $arr[1] ); } else { return ""; } } } ?>