1. 程式人生 > >數組和xml的互相轉換的封裝函數

數組和xml的互相轉換的封裝函數

iss 數組 nbsp bsp load val urn document ray

/**
* 數組轉換為xml
*
* @param array $arr
* @param int $level
* @return string
*/
public static function arrayToXml($arr, $level = 0) {
  $s = $level == 0 ? ‘<?xml version="1.0" encoding="UTF-8"?>‘ : ‘‘;
  foreach ( $arr as $key => $value ) {
    if (is_array ( $value )) {
      $s .= "<" . $key . ">" . ArrayXML::arrayToXml ( $value, 1 ) . "</" . $key . ">";
    } else {
      $s .= "<" . $key . ">" . $value . "</" . $key . ">";
    }
  }
  return $s;
}

/**
* xml轉為數組
*
* @param string $xml
* @param string $version
* @param string $charset
* @return array
*/
public static function xmlToarray($xml, $version = "1.0", $charset = "utf-8") {
  $doc = new DOMDocument ( $version, $charset );
  $doc->loadXML ( $xml );
  $result = domNodeToArray($doc);
  if (isset ( $result [‘#document‘] )) {
    $result = $result [‘#document‘];
  }
  return $result;
 }

數組和xml的互相轉換的封裝函數