Hey Leute!
Ich habe mal nach nem einfachen XML Pharser gesucht und hier im Board folgenes Script gefunden:
Dieses Script liest die XML Datei aus und speichert alles in einem String. Sieht in meinem Fall so aus:
"Singles http://localhost/singles viktor0010 m w http://localhost/singles/00000001.jpg http://localhost/singles/viktor0010.html"
Diesen möchte ich nun weiter verarbeiten. Dazu möchte ich die einzelnen Daten in ein Array stecken. Also habe ich bei "echo $ausgabe" folgendes gemacht:
Das "echo $ausgabe[0]" ist jetzt nur als Beispiel. Das Problem besteht nun darin, dass explode nicht wirklich richtig funktioniert. Es packt mir zwar den gesammten String in ein Array, aber den Gesammten auf Zahl [0], und nicht Teil für Teil durchnummeriert, wies eigentlich sein sollte. Pack ich jedoch die Ausgabe als Text bei explode rein statt $ausgabe, also,:
dann funktioniert das wieder. Nur wenn da die Variable $ausgabe drin steht, machters nicht. Irgendwie ist das ganze etwas merkwürdig. Der Befehl split() versagt hier ebenfalls. Jemand ne Idee woran das liegen könnte bzw. was ich da falsch mach?
Danke Euch schonmal...
Ich habe mal nach nem einfachen XML Pharser gesucht und hier im Board folgenes Script gefunden:
Code:
<?php
//Dies ist die Funktion, die öffnende Tags verarbeitet
function startElement($parser, $element_name, $element_attribute)
{
global $ausgabe;
//Überprüfung des Elementnames
if ($element_name=="<inhalt>")
{
$ausgabe .= "Inhalt<p>";
}
}
//die ist die Funktion, die schließende Tags bearbeitet
function endElement($parser, $element_name)
{
global $ausgabe;
// Überprüfung des Names eines Elementes
if ($element_name=="</inhalt>")
{
$ausgabe .= "</p>";
}
}
//Hier werden reine Texte bearbeitet
function cdata($parser, $element_inhalt)
{
global $ausgabe;
// Der normale Text wird an $ausgabe angehängt
$ausgabe .= $element_inhalt;
}
$xmlFile = file("ER/lkal.xml");
$parser = xml_parser_create();
xml_set_element_handler($parser, "startElement", "endElement");
xml_set_character_data_handler($parser, "cdata");
foreach($xmlFile as $elem)
{
xml_parse($parser, $elem);
}
xml_parser_free($parser);
echo $ausgabe;
echo ("<BR>");
?>
Dieses Script liest die XML Datei aus und speichert alles in einem String. Sieht in meinem Fall so aus:
"Singles http://localhost/singles viktor0010 m w http://localhost/singles/00000001.jpg http://localhost/singles/viktor0010.html"
Diesen möchte ich nun weiter verarbeiten. Dazu möchte ich die einzelnen Daten in ein Array stecken. Also habe ich bei "echo $ausgabe" folgendes gemacht:
Code:
$ausgabe = explode(" ", $ausgabe);
echo $ausgabe[0];
Das "echo $ausgabe[0]" ist jetzt nur als Beispiel. Das Problem besteht nun darin, dass explode nicht wirklich richtig funktioniert. Es packt mir zwar den gesammten String in ein Array, aber den Gesammten auf Zahl [0], und nicht Teil für Teil durchnummeriert, wies eigentlich sein sollte. Pack ich jedoch die Ausgabe als Text bei explode rein statt $ausgabe, also,:
Code:
$ausgabe = explode(" ", "Singles http://localhost/singles viktor0010 m w http://localhost/singles/00000001.jpg http://localhost/singles/viktor0010.html");
dann funktioniert das wieder. Nur wenn da die Variable $ausgabe drin steht, machters nicht. Irgendwie ist das ganze etwas merkwürdig. Der Befehl split() versagt hier ebenfalls. Jemand ne Idee woran das liegen könnte bzw. was ich da falsch mach?

Danke Euch schonmal...