Hallo miteinander.
Ich versuche mit der unten beigefügten Funktion (quelle: php.net) eine XML Datei auszulesen und diese darzustellen.
Ich stelle fest, dass alle in der XML Datei stehenden (virtuellen) breaks einfach gelöscht werden. Die ausgabe ist dann immer eine lange Zeile mit dem ganzen Inhalt.
Ich habe es überall mit einem nl2br() versucht, jedoch vergeblich.
Gibt es da noch eine möglichkeit?
Ich versuche mit der unten beigefügten Funktion (quelle: php.net) eine XML Datei auszulesen und diese darzustellen.
Ich stelle fest, dass alle in der XML Datei stehenden (virtuellen) breaks einfach gelöscht werden. Die ausgabe ist dann immer eine lange Zeile mit dem ganzen Inhalt.
Ich habe es überall mit einem nl2br() versucht, jedoch vergeblich.
Gibt es da noch eine möglichkeit?
PHP-Code:
function GetXMLTree ($xmldata)
{
ini_set ('track_errors', '1');
$xmlreaderror = false;
$parser = xml_parser_create ('ISO-8859-1');
xml_parser_set_option ($parser, XML_OPTION_SKIP_WHITE, 1);
xml_parser_set_option ($parser, XML_OPTION_CASE_FOLDING, 1);
if (!xml_parse_into_struct ($parser, $xmldata, $vals, $index)) {
$xmlreaderror = true;
echo "error ";
}
xml_parser_free ($parser);
if (!$xmlreaderror) {
$result = array ();
$i = 0;
if (isset ($vals [$i]['attributes']))
foreach (array_keys (nl2br($vals [$i]['attributes'])) as $attkey)
$attributes [$attkey] = $vals [$i]['attributes'][$attkey];
$result [$vals [$i]['tag']] = array_merge ($attributes, GetChildren ($vals, $i, 'open'));
}
ini_set ('track_errors', '0');
# Hier eine Testausgabe
echo "<pre>" . var_dump ($result) . "</pre>";
return $result;
}
Kommentar