Veröffentlicht 26. Mai 200817 j Hallo, also mit AJAX habe ich bisher viel gemacht, aber imemr nur mit responseText, weil responseXML nie bei mir funzelte. Jetzt wollte ich mal experimentell was machen und zwar ein Menü über ne externe XML-Datei. <?xml version="1.0" ?> - <menu> - <point> <alt>Home</alt> <url>index.php</url> </point> - <point> <alt>Beschreibung</alt> <url>beschreibung.html</url> </point> </menu> das ist die XML-Datei (treeview des IE kopiert, daher die Striche) meien Frage: Wie kann ich nun in dem XML-Dokument etwas ansteuern, also ich kenen die Methoden des DOM, aber bei mir klappt es nicht. Z.B: wenn ich das erste alt-Attribut ansteuern will, würde ich das so machen: xml=obj.responseXML.firstChild // wurzelelement menu xml.childNodes[0].childNodes[0].data // m.E. der erste alt-Tag! aber das // stimtm nicht // habe es auch so versucht: obj.responseXML.getElementsByTagName("point")[0].childNodes[0].data // auch das geht nicht. was amche ich falsch? lieeb grüße P.S. natürlich habe ich oben weggelassen,d ass die Daten dann in ein <div> objekt hineinplatziert werden. Wie gesagt. Dasselbe beispiel funktioniert, solange ich responseText verwende, daher ist an meienr DOM.-SYntax iregndwas verquer... Bearbeitet 26. Mai 200817 j von danvan
27. Mai 200817 j Versuch doch mal das Wurzelelement so anzusprechen: xml = obj.responseXML.documentElement
27. Mai 200817 j das root-element kann ich ansprechen. Wird "menu" ausgegeben, so heißt es ja auch. Aber darunter klappt nix. Wenn ich dann auf childNodes[0] gehe, dann wird [Object text] ausgegeben und wenn ichd ann auf childNodes[0].data gehe tshet entweder undefined oder #text da. :hells: was würdet ihr angeben, wenn ihr in ein <div> z.B. den INhalt des ersten alt Containers ("Home") ausgeben wolltet ? Bearbeitet 27. Mai 200817 j von danvan
27. Mai 200817 j gehe mit einer schleife "alle" Childnodes durch und schau dir an was sie sind. Ich hege den Verdacht das du jedes 2. Element als Textnode nicht als XMLnode hast (oft so, wg. Zeilenumbruch unsw.) also musst du evtl. nocht [0] sondern [1] ansprechen um weiter zu kommen.
29. Mai 200817 j normalerweise tuts ein childNodes[0].innerHTML bzw childNodes[0].innerText um an den Inhalt rannzukommen.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.