# XML Beispiel Klasse



## space (15. Apr 2009)

Hallo Leute,

versuche gerade, mich in XML einzuarbeiten. Habe ein tolles Beispiel im Internet gefunden: Sebastian`s Blog  Blog Archive  Tutorial: XML-Dateien mit Java 6 erstellen/auslesen

Das Problem ist, dass die Klasse Tier beim kompilieren nicht gefunden wird. Warum, kann ich mir nicht erklären.


```
symbol  : class Tier
location: class de.smu.test.jaxb.Zoo
  private Tier tier;
          ^
Zoo.java:16:10: cannot find symbol
symbol  : class Tier
location: class de.smu.test.jaxb.Zoo
  public Tier getTier() {
         ^
Zoo.java:19:23: cannot find symbol
symbol  : class Tier
location: class de.smu.test.jaxb.Zoo
  public void setTier(Tier tier) {
```

Beste Grüße =)


----------



## MiDniGG (15. Apr 2009)

space hat gesagt.:


> Hallo Leute,
> 
> versuche gerade, mich in XML einzuarbeiten. Habe ein tolles Beispiel im Internet gefunden: Sebastian`s Blog  Blog Archive  Tutorial: XML-Dateien mit Java 6 erstellen/auslesen
> 
> ...



Ich tipp ja mal drauf, dass Du das package nicht so hast wie der Sebastian...


----------



## space (15. Apr 2009)

MiDniGG hat gesagt.:


> Ich tipp ja mal drauf, dass Du das package nicht so hast wie der Sebastian...



Das heißt?


----------



## MiDniGG (15. Apr 2009)

space hat gesagt.:


> Das heißt?



Naja. Als aller erstes in einer Klasse wird (meistens) ein Package definiert:

_hier:_

```
package de.smu.test.jaxb;
```

Nun sollte sich Deine Klasse auch in diesem Package befinden, da darüber darauf zugegriffen wird...

Also in etwa:


```
C:\Java-Workspace\ProjektNrEins\de\smu\test\jaxb
```

Bei IDEs wie bspw. Eclipse kann man dieses Angeben, indem Du rechtsklick auf das Projekt machst und dann unter new-package das Package de.smu.test.jaxb eingibst und da deine Klassen reinhaust...

Einigermaßen verständlich???


----------



## space (15. Apr 2009)

Super, danke !


----------



## space (15. Apr 2009)

Gehts eigentlich auch ohne den Pfad? Also dass ich die nicht extra in einen Ordner tun muss..dass sozusagen alle Klassen in einem Ordner sind

Irgendwie versteh ich die Logik nämlich nicht  Alle dateien holen die Klassen vom Package.. wie soll das gehen wenn sie selbst im Package sind?

Grüße


----------



## JohannisderKaeufer (15. Apr 2009)

Creating and Using Packages

Prinzipiell kann man auf Packages Verzichten alles in einen Ordner packen und gut ist. Das bietet sich allerdings nur für kleine Übersichtliche Projekte an oder fals man kurz was ausprobieren möchte.

In dem Fall lässt man die Zeile

```
package foo.bar;
```

einfach Weg.


----------



## space (15. Apr 2009)

JohannisderKaeufer hat gesagt.:


> Creating and Using Packages
> 
> Prinzipiell kann man auf Packages Verzichten alles in einen Ordner packen und gut ist. Das bietet sich allerdings nur für kleine Übersichtliche Projekte an oder fals man kurz was ausprobieren möchte.
> 
> ...



Genau dann funktioniert es ja nicht und der oben erwähnt Fehler wird aufgerufen


----------



## MiDniGG (16. Apr 2009)

space hat gesagt.:


> Genau dann funktioniert es ja nicht und der oben erwähnt Fehler wird aufgerufen



Wieso soll das denn nicht funktionieren?

Einfach die package-Zeile im Code löschen und alle Dateien in ein Verzeichnis schmeißen und gut is, dass das nicht gehen soll würde mich schon sehr verstören ^^


----------



## space (16. Apr 2009)

Hat einer von euch ne Ahnung warum dieser Fehler im obrigen Beispiel auftritt?

```
ZooMarshaller.java:54:7: cannot find symbol
symbol  : class Club
location: class ZooMarshaller
      Club zoAuslesen= (Club) unmarschaller.unmarshal(new FileReader("zoo.xml"));
      ^
ZooMarshaller.java:54:25: cannot find symbol
symbol  : class Club
location: class ZooMarshaller
      Club zoAuslesen= (Club) unmarschaller.unmarshal(new FileReader("zoo.xml"));
```

Ich find im Code keine Klasse die Club heißt, oder fehlt mir da was?

Beste Grüße


----------



## space (16. Apr 2009)

Problem gelöst 
Der hatte das Beispiel wahrscheinlich von Galileo Computing, da wars mitm Club statt mitm Zoo.
Einfach Zoo statt Club


----------

