function ary2xml($cary, $d=0, $forcetag='') { $res=array(); foreach ($cary as $tag=>$r) { if (isset($r[0])) { $res[]=ary2xml($r, $d, $tag); } else { if ($forcetag) $tag=$forcetag; $sp=str_repeat("\t", $d); $res[]="$sp<$tag"; if (isset($r['_a'])) {foreach ($r['_a'] as $at=>$av) $res[]=" $at=\"$av\"";} $res[]=">".((isset($r['_c'])) ? "\n" : ''); if (isset($r['_c'])) $res[]=ary2xml($r['_c'], $d+1); elseif (isset($r['_v'])) $res[]=$r['_v']; $res[]=(isset($r['_c']) ? $sp : '')."</$tag>\n"; } } return implode('', $res); }
public function ary2xml($cary, $d = 0, $forcetag = '') { $res = array(); foreach ($cary as $tag => $r) { if (isset($r[0])) { $res[] = self::ary2xml($r, $d, $tag); } else { if ($forcetag) { $tag = $forcetag; } $sp = str_repeat("\t", $d); $res[] = "{$sp}<{$tag}"; if (isset($r['_a'])) { foreach ($r['_a'] as $at => $av) { $res[] = " {$at}=\"{$av}\""; } } $res[] = ">" . (isset($r['_c']) ? "\n" : ''); if (isset($r['_c'])) { $res[] = ary2xml($r['_c'], $d + 1); } elseif (isset($r['_v'])) { $res[] = $r['_v']; } $res[] = (isset($r['_c']) ? $sp : '') . "</{$tag}>\n"; } } return implode('', $res); }