# getChildNodes() liefert mehr als erwartet



## Holger_Hessling (10. Apr 2017)

Hallo!

Es geht um folgende XML-Datei:
(die ... bedeuten, da steht noch mehr, aber das ist jetzt wurscht)

```
<divelog program='subsurface' version='2'>
  <settings>
    ...
  </settings>
  <dives>
    ...
  </dives>
</divelog>
```
Wenn ich mir den 'rootNode' des Dokumentes hole (also 'divelog') über...

```
Node rootNode = xmlDoc.getDocumentElemtent();
```
und mir die Anzahl an childNodes geben lasse über

```
rootNode.getChildNodes().getLength()
```
dann erhalte ich '5'! Erwartet habe ich '2', nämlich 'setting' und 'dives'. Es kommen aber folgende 5:

```
#text
settings
#text
dives
#text
```
Was hat es mit den '#text' auf sich, kann mir das bitte jemand erklären?

Danke, Gruß
Holger


----------



## fhoffmann (11. Apr 2017)

Zwischen den Tags befindet sich Text, auch wenn er in diesem Fall nur aus Zeilenumbrüchen, Leerzeichen und Tabulatoren besteht.


----------



## Holger_Hessling (11. Apr 2017)

Danke für Deine Erklärung! Ist nachvollziehbar aber irritierend. Ich habe für mich jetzt jeden zweiten Eintrag der NodeList verwandt. Das erschien mir aber eher unelegant. Darum die Nachfrage. Gibt's da evtl. eine andere, bessere Herangehensweise?


----------



## fhoffmann (11. Apr 2017)

Du könntest die Nodes in der NodeList nach ihrem Typ fragen (getNodeType()).


----------



## Holger_Hessling (11. Apr 2017)

... und dann nur auf ELEMENT-Typen reagieren. Ja, so werde ich es machen. Danke für Deine Hilfe!


----------

