XML-Response in JavaScript-Variable übernehmen

Kai-Behncke

Erfahrenes Mitglied
Hallo allerseits,


über eine Ajax-Funktion definiere ich in PHP folgendes XML:

Code:
 $xml  = '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
 $xml .= "<ajaxcontent>\n";
 $xml .= "<new_extent>$new_extent</new_extent>";
 $xml .= "<standort>$standort</standort>";
 $xml .= "<standort_name>$standort_name</standort_name>";
  $xml .= "<zielort>$zielort</zielort>";
 $xml .= "<zielort_name>$zielort_name</zielort_name>";
  $xml .= "<klickobjekt>$klickobjekt</klickobjekt>";
  $xml .= "<klickobjekt_name>$klickobjekt_name</klickobjekt_name>";
    $xml .= "<bild><img  style='position:relative;' id='kartenklick' src='$image_url' name='kartenklick' onClick=sndReq(event,'$new_extent','$standort'); /></bild>";
 $xml .= "</ajaxcontent>\n";
 
  header('Content-type: text/xml',true);

echo $xml;

Das klappt auch wunderbar, allerdings möchte ich gerne die Werte einzelner XML-Knoten in Javascript Variablen packen.

Ich teste z.B. dann

Code:
alert (resObjekt.responseXML.getElementsByTagName('ajaxcontent'));

und erhalte immerhin ein alert mit dem Wert "[object HTMLCollection]"

Nur wie kann ich die Werte der einzelnen Knoten auslesen
Kann mir da bitte jemand weiterhelfen?

Danke im Voraus, Kai
 
Code:
resObjekt.responseXML.getElementsByTagName('ajaxcontent')[0]

getElementsByTagName liefert dir alle Elemente zurück. Was hast du dir denn für eine Ausgabe bei dem alert erhofft? Die Elemente der Collection sind ja wiederum nur Referenzen auf Knotenpunkte.

Folgendes sollte zumindest etwas sinnvolles ausgeben.

Code:
alert (resObjekt.responseXML.getElementsByTagName('ajaxcontent')[0].getElementsByTagName('standort')[0].data);

Du kannst auch alle alle Knoten unter "ajaxcontent" über ".childNodes" erhalten.
 
Hallo CPoly.

danke für Deine schnelle Antwort,
mit
Code:
var ajaxcontent = resObjekt.responseXML.getElementsByTagName('ajaxcontent')[0].getElementsByTagName('standort')[0].firstChild.data;

alert (ajaxcontent);

klappt es wunderbar :)

Viele Grüße, Kai
 
Zurück