/** * 数据XML编码 * @param mixed $data 数据 * @param string $item 数字索引时的节点名称 * @param string $id 数字索引key转换为的属性名 * @return string */ function dataToXml($data, $item = 'item', $id = 'id') { $xml = $attr = ''; foreach ($data as $key => $val) { if (is_numeric($key)) { $id && ($attr = " {$id}=\"{$key}\""); $key = $item; } $xml .= "<{$key}{$attr}>"; $xml .= is_array($val) || is_object($val) ? dataToXml($val, $item, $id) : $val; $xml .= "</{$key}>"; } return $xml; }
function dataToXml($data) { if (is_object($data)) { $data = get_object_vars($data); } $xml = ''; foreach ($data as $key => $val) { is_numeric($key) && ($key = "item id=\"{$key}\""); $xml .= "<{$key}>"; $xml .= is_array($val) || is_object($val) ? dataToXml($val) : $val; list($key, ) = explode(' ', $key); $xml .= "</{$key}>"; } return $xml; }