XML与Array互相转换

封装XML和Array互相转换的方法

XML2Array

1
2
3
4
5
6
7
8
public static function xml2Array(string $xml)
{
return json_decode(json_encode(simplexml_load_string(
$xml,
'SimpleXMLElement',
LIBXML_NOCDATA
)), true);
}

说明

  • json_encode — 对变量进行 JSON 编码
  • json_decode — 对 JSON 格式的字符串进行解码,当该assocTRUE 时,将返回 array 而非 object
  • simplexml_load_string - 将格式良好的XML字符串将其作为对象返回

Array2XML

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static function array2XML(array $array, string &$xml): string
{
foreach ($array as $key => &$val) {
if (is_array($val)) {
$_xml = '';
$val = self::array2XML($val, $_xml);
}
$xml .= "<$key>$val</$key>";
}

unset($val);

return $xml;
}

说明

  • : string 写法是PHP7的新特性

参考

Powered by Hexo and Hexo-theme-hiker

Copyright © 2017 - 2023 Keep It Simple And Stupid All Rights Reserved.

访客数 : | 访问量 :