# Frage zu Erklärung im Online book "Java ist auch eine I



## ManInBlack (19. Nov 2008)

Hi,

auf folgender Seite:
openbook.galileocomputing.de/javainsel7/javainsel_14_006.htm#mjfae11c1a25bea26bded6fd88a58a25ce

unter 14.6.7 Elemente Zur nächsten Überschrift

ist ein xml-file vorgegeben

```
<party datum="31.12.01"> 
    <gast name="Albert Angsthase"> 
        <getraenk>Wein</getraenk> 
        <getraenk>Bier</getraenk> 
        <zustand ledig="true" nuechtern="false"/> 
    </gast> 
    <gast name="Martina Mutig"> 
        <getraenk>Apfelsaft</getraenk> 
        <zustand ledig="true" nuechtern="true"/> 
    </gast> 
    <gast name="Zacharias Zottelig"></gast> 
</party>
```

Dann zu einer Erklärung:

Element party = doc.getRootElement(); 
Element albert = party.getChild( "gast" );

Wenn wir wissen wollen, was Albert trinkt, schreiben wir:

Element albertGetraenk = albert.getChild( "getraenk" );


Aus meiner Sicht, stimmt das so nicht, da man 2 Kind Elemente hat (Albert Angsthase und Martina Mutig).
Element albert = party.getChild( "gast" );
Passt doch nur, weil das Element Albert zu erst kommt.

Wie seht ihr das?
Und wie kommt man nun an das Getränk von Martina Mutig?

Ich beschäftige mich jetzt schon seit einigen Tagen mit XML und leider konnte ich hier noch kein
eindeutiges Tutorial / Beschreibung finden.

Vielen Dank

MfG


----------



## SlaterB (19. Nov 2008)

du hast den wichtigen Satz vor

> Element party = doc.getRootElement(); 
> Element albert = party.getChild( "gast" ); 

vergessen:

> Wenn wir den ersten Gast auf der Party haben möchten, schreiben wir:

da wird also deutlich drauf hingewiesen, dass es von der Reihenfolge abhängt,


--------

nur wenig später kommt noch

> Falls wir eine Gästeliste der Party haben wollen, schreiben wir:
> List gaeste = party.getChildren( "gast" );

und die große Alternative zum Suchen heißt XPath, kommt deutlich später und ist ein längeres Thema,


----------



## ManInBlack (19. Nov 2008)

Hi SlaterB,

danke für deine Antwort und sorry, das mit der Reihenfolge
habe ich überlesen.

Könntest du mir bitte noch sagen, wenn ich auf die Gästeliste zugreifen möchte,
geht das aus deiner Sicht nur mit XPath?

danke+gruß


----------



## SlaterB (19. Nov 2008)

entweder du durchsuchst die List gaeste selber mit einer for-Schleife,
oder du verwendest XPath, welches eine bestimmte Sprache (wie auch SQL) versteht und umsetzt und letzlich auch nur die List gaeste per for-Schleife durchsucht
oder du machst was ganz anderes, was irgendwie intern sicherlich aber auch irgendwann mal die List gaeste durchlaufen wird,
ein SAX-Parser ist noch was anderes


----------



## ralfz (19. Nov 2008)

Hi,

es gibt glaube ich noch ne Möglichkeit.

Ich habe gehört, dass man XML Dateien über ODBC als Datenbank ansprechen kann.

Dann könnte man vermutlich ganz normale SQL Anweisungen ausführen und eben mittels Select Anweisung danach suchen.

Ist ntürlich auch intern wieder ne Schleife... wie auch sonst...

Gruß
Zirni


----------

