18 czerwca 2006, 17:53:20

Zamiana tablicy wielowymiarowej na dokument XML w PHP.

function array_to_xml($array, $p_name = '') {
 static $i;
 if (is_null($i)) $i = 1; else $i++;
 
 while(list($key, $value) = @each($array)) {
	if (is_int($key)) $key='item'.$key;
	$key = htmlspecialchars($key, ENT_NOQUOTES);
	$str .= "\n".str_repeat(' ',$i)."<{$key}>";
	if (is_array($value)) {
		$str .= array_to_xml($value);
		--$i;
		$short = 0;
	} else {
		$value = htmlspecialchars($value, ENT_NOQUOTES);
		$str .= $value;
		$short = 1;
	}
	$str .= ($short ? '' : "\n".str_repeat(' ',$i))."</{$key}>";
 }
 
 if ($p_name !== '') $str = "<{$p_name}>{$str}\n</{$p_name}>";
 if ($i == 1) $str = '<?xml version="1.0" standalone="yes" encoding = "iso-8859-2" ?>'."\n".$str;
 return $str;
}

Komentarze

18 czerwca 2006, 22:55:00

Pomyliłeś sobie pz.note z pz, czy po prostu zapisujesz dla siebie? :D

19 czerwca 2006, 13:34:46

Zapisuję dla siebie i dla potomności, bo funkcja odrazu działa tak jak trzeba, o ile nie lepiej :)

 
 

Informacje

To jest mój mały zakątek w sieci. Będę tu robił i pisał co mi się podoba - jeśli masz coś przeciwko to powinieneś opuścić tą stronę.

W większości znajdziesz tu fragmenty różnych tekstów, moje krótkie przemyślenia i rzeczy znalezione w sieci. Gromadzę je dla siebie, ale będzie mi miło jeśli Ty również z tego skorzystasz. Doceniam każdy cenny komentarz i trafną uwagę.