HighDots Forums  

XML auslesen - auf Kinder eines Elements zugreifen?

Javascript (German) Programmiersprache JavaScript. (de.comp.lang.javascript)


Discuss XML auslesen - auf Kinder eines Elements zugreifen? in the Javascript (German) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Stefan Christ
 
Posts: n/a

Default XML auslesen - auf Kinder eines Elements zugreifen? - 06-12-2007 , 10:43 AM






Guten Tag zusammen,

ich hole mittels AJAX Daten in Form einer XML-Datei. Dort erhalte ich
beliebig viele Elemente desselben Typs, dieses enthält weitere
Kindelemente. Kann ich direkt auf ein solches Kindelement zugreifen,
ohne alle Kinder durchzuschleifen und deren Namen abzufragen?

Hier ein Beispiel des XML-Files:

<kunde>
<name>Max Mustermann</name>
<adresse>abc 1</adresse>
</kunde>
<kunde>
<name>Maxina Mustermann</name>
<adresse>abc 2</adresse>
</kunde>

Auf das Element "kunde" greife ich wie folgt zu:

var kunde = x.childNodes[0].childNodes[i];

Wie erhalte ich nun am einfachsten den Namen des Kunden, ohne alle
Unterelemente anquatschen zu müssen?

MFG
Stefan


Reply With Quote
  #2  
Old   
Martin Honnen
 
Posts: n/a

Default Re: XML auslesen - auf Kinder eines Elements zugreifen? - 06-12-2007 , 11:02 AM






Stefan Christ wrote:

Quote:
Hier ein Beispiel des XML-Files:

kunde
name>Max Mustermann</name
adresse>abc 1</adresse
/kunde
kunde
name>Maxina Mustermann</name
adresse>abc 2</adresse
/kunde
Da fehlt ein Wurzelelement.

Quote:
Auf das Element "kunde" greife ich wie folgt zu:

var kunde = x.childNodes[0].childNodes[i];
Per childNodes[index] findest du unter Umstaenden, je nach
DOM-Implementierung, einen Textknoten mit Zeilenumbruch.

Quote:
Wie erhalte ich nun am einfachsten den Namen des Kunden, ohne alle
Unterelemente anquatschen zu müssen?
Sowohl das DOM-Dokument als auch jedes DOM-Element bietet die Methode
getElementsByTagName. Dann hat man auch noch XPath, also in IE 6 und IE
7 per selectNodes/selectSingleNode, in Mozilla und Opera per
document.evaluate.



--

Martin Honnen
http://JavaScript.FAQTs.com/


Reply With Quote
  #3  
Old   
Stefan Christ
 
Posts: n/a

Default Re: XML auslesen - auf Kinder eines Elements zugreifen? - 06-12-2007 , 11:07 AM



Quote:
Sowohl das DOM-Dokument als auch jedes DOM-Element bietet die Methode
getElementsByTagName. Dann hat man auch noch XPath, also in IE 6 und IE
7 per selectNodes/selectSingleNode, in Mozilla und Opera per
document.evaluate.
Mit getElementsByTagName werden doch aber alle Elemente ermittelt, ich
kann nicht auf die Elemente eines Kunden einschränken. Da ich
möglichst browserunabhängig entwickeln möchte, bleibt mir am Schluss
wohl doch nur das ausschleifen aller Kundenelemente...



Reply With Quote
  #4  
Old   
Martin Honnen
 
Posts: n/a

Default Re: XML auslesen - auf Kinder eines Elements zugreifen? - 06-12-2007 , 11:14 AM



Stefan Christ wrote:
Quote:
Sowohl das DOM-Dokument als auch jedes DOM-Element bietet die Methode
getElementsByTagName. Dann hat man auch noch XPath, also in IE 6 und IE
7 per selectNodes/selectSingleNode, in Mozilla und Opera per
document.evaluate.

Mit getElementsByTagName werden doch aber alle Elemente ermittelt, ich
kann nicht auf die Elemente eines Kunden einschränken.
Nein, ich schrieb doch: "jedes DOM-Element bietet die Methode
getElementsByTagName". Also kann man z.b.

var kunden = xmlDocument.getElementsByTagName('kunde');
for (var i = 0, l = kunden.length; i < l; i++) {
var kunde = kunden[i];
var name = kunde.getElementsByTagName('name')[0];
var adresse = kunde.getElementsByTagName('adresse')[0];
...
}

programmieren.


--

Martin Honnen
http://JavaScript.FAQTs.com/


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.