# Wieviele Elemente von TagName, ich brings nicht hin



## Gustl_Java (16. Sep 2010)

Hallo,

ich möchte eine xml auslesen, und wissen wieviele Tags des namen ferien es gibt.

xml:


> <?xml version="1.0" encoding="UTF-8"?>
> <ferienall>
> <ferien>
> <name>Pfingsten</name>
> ...



Verstehe nicht warum das hier nicht funktioniert:

```
Document doc = new SAXBuilder().build( "ferien.xml" );
NodeList anzahl = doc.getElementsByTagName("ferien");
System.out.println("Anzahl der ferien: " + anzahl.getLength()  );
```

Fehlerausgabe:



> XML_com_ferien.java:120:31: cannot find symbol
> symbol  : method getElementsByTagName(java.lang.String)
> location: class org.jdom.Document
> NodeList anzahl = doc.getElementsByTagName("ferien");




Kann mir wer helfen?


----------



## Noctarius (16. Sep 2010)

Nimm Lycia (Signatur), bastel einen Event-Parser für genau dieses Element und hinterleg einen Integer als Contextobject. Jedesmal wenn der Parser als Event aufgerufen wird inkrementierst du den Integer. Nach dem Parsing-Vorgang kannst du den Integer auslesen ^^


----------



## Cage Hunter (16. Sep 2010)

```
Document doc = new SAXBuilder().build( "ferien.xml" );
int amount = data.getRootElement().getChildren("ferien").size();
System.out.println("Anzahl der ferien: " + amount  );
```

Könnte sein, dass es auch mit "getElementsByTagName()" geht, in dem Fall fehlt dir nur das "getRootElement()" vorher, kannst es ja mal ausprobieren


----------



## Noctarius (16. Sep 2010)

Alternativ per XPath


----------



## Cage Hunter (16. Sep 2010)

Man muss nicht immer gleich zu Lycia wechseln, auch wenn Dir das wohl lieber wäre^^


----------



## Noctarius (16. Sep 2010)

Cage Hunter hat gesagt.:


> Man muss nicht immer gleich zu Lycia wechseln, auch wenn Dir das wohl lieber wäre^^



Im Endeffekt hab ich auch nichts davon, ist immerhin Apache 2 License ^^

Ich sagte ja grad man kann's auch mit einem XPath Ausdruck machen, NodeList zurückgeben lassen und size holen


----------

