# Einlesen einer xml Datei



## SirRobinson (26. Apr 2008)

Hallo,


xml Datei:


```
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<settingsData>
    <Movie Format>AVI</Movie Format>
    <Movie Format>MPG</Movie Format>  
    <Movie Format>MPEG</Movie Format>
</settingsData>
```


Codeauszug aus der Klasse SettingsData:


```
@XmlElement( name = "Movie Format" )
public List<String> elements = new ArrayList<String>();
```

xml datei wird geladen:


```
JAXBContext jc = JAXBContext.newInstance(SettingsData.class);
Unmarshaller um = jc.createUnmarshaller ();
           
Object o = um.unmarshal(new FileInputStream("settings.xml"));
settingsdata = (SettingsData) o; 		
	        
for(int i = 0 ; i < settingsdata.getElements().size() ; i++)
System.out.println(settingsdata.getElements().get(i));
```

Die letzten beiden Zeilen sorgen für diesen Fehler:


```
javax.xml.bind.UnmarshalException
 - with linked exception:
[org.xml.sax.SAXParseException: Attribute name "Format" associated with an element type "Movie" must be followed by the ' = ' character.]
```

Versteht jemand die Fehlermeldung?


----------



## clemson (26. Apr 2008)

Die Elementnamen dürfen keinen Abstand beinhalten; ansonsten wäre in deinem Fall Format ein Attribut...

Also entweder

```
<?xml version="1.0" encoding="UTF-8"?>
<settingsData>
    <Movie-Format>AVI</Movie-Format>
    <Movie-Format>MPG</Movie-Format>
    <Movie-Format>MPEG</Movie-Format>
</settingsData>
```

oder


```
<settingsData>
    <Movie Format="AVI"/>
    <Movie Format="MPG"/>
    <Movie Format="MPEG"/>
</settingsData>
```


----------



## SirRobinson (27. Apr 2008)

DANKE!


----------



## SirRobinson (27. Apr 2008)

Was müsste ich denn ändern am code damit ich das erhalt:



```
<settingsData>
  
          <movieFormats>

               <MovieFormat>AVI</MovieFormat>

               <MovieFormat>MPG</MovieFormat>
 
               <MovieFormat>MPEG</MovieFormat>
  
          </movieFormats>
 </settingsData>
```


----------



## Gast (30. Apr 2008)

Anonymous hat gesagt.:
			
		

> Was müsste ich denn ändern am code damit ich das erhalt:
> 
> 
> 
> ...


Nix du musst nur deine XML-Datei entsprechend anpassen.


----------

