XML-Dateien parsen

Hi,

Ich programmiere schon einige Zeit in PHP und fange jetzt im Rahmen von Firmenprojekten an, mich mit XML auseinanderzusetzen. Ich habe mir einen einfachen XML-Parser geschrieben, welcher mir die XML-Tags ausspuckt. Leider weiss ich nicht, wie ich an die Informationen rankomme, welche zwischen den XML-Tags stehen. Kennt sich jemand in beiden Sprachen aus und kann mir helfen? Ich liefere mal ein Stueck Code mit:

function startElement($parser,$name,$attrs){
echo $start = „“;
}
function endElement($parser,$name){
echo $end = „$name>
\n“;
}
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, „startElement“,„endElement“);

$fp = fopen($file, „r“);
while($data = fread($fp, 4096)){
xml_parse($xml_parser,$data, feof($fp));
}

Ueber Hilfe waere ich echt dankbar!

cu
cjmatsel

Hallo !

Hi,

Ich programmiere schon einige Zeit in PHP und fange jetzt im
Leider weiss
ich nicht, wie ich an die Informationen rankomme, welche
zwischen den XML-Tags stehen. Kennt sich jemand in beiden
Sprachen aus und kann mir helfen? Ich liefere mal ein Stueck
Code mit:

function startElement($parser,$name,$attrs){

Was meinst du, wozu es hier ein assoziatives Array Namens $attrs gibt :smile:

echo $start = "";

}

Alexander

Hi Alex,

Klasse und vielen Dank, das hilft mir schon mal ein bisschen weiter. Meine Frage bezog sich allerdings auf die Werte zwischen den Klammern:
Alex zum Beispiel. Wie komme ich daran? Waere nett, wenn Du mir nochmal helfen koenntest.

cu,
cjmatsel

Hallo !

Hi Alex,

Klasse und vielen Dank, das hilft mir schon mal ein bisschen
weiter. Meine Frage bezog sich allerdings auf die Werte
zwischen den Klammern:
Alex zum Beispiel. Wie komme ich
daran? Waere nett, wenn Du mir nochmal helfen koenntest.

Du suchst wahrscheinlich dann
xml_set_character_data_handler

Darin musst du in einer Variable den ganzen Kram „zusammensammeln“ und dann erst beim Start / Endtag auswerten, da das Ding mehrfach aufgerufen werden kann.

Alexander