# XmlEncoder übersieht Felder



## dev_random (6. Feb 2010)

Hallo zusammen,

meine Einstellungen verwalte ich in einer Klasse Settings. Diese möchte ich gerne als XML speichern. 

Klasse:

```
import java.io.Serializable;
import java.util.LinkedList;
import java.util.List;

import javax.xml.bind.annotation.XmlElement;

public class Settings implements Serializable {
	private static final long serialVersionUID = -7771571132898206462L;
	
	private String serverUrl;
	@XmlElement(name="otherUserIds")
	private List<String> otherUserIds = new LinkedList<String>();

	public String getServerUrl() {
		return serverUrl;
	}

	public List<String> getOtherUserIds() {
		return otherUserIds;
	}

	public void setServerUrl(String value) {
		serverUrl = value;
	}

	public void setOtherUserIds(List<String> value) {
		otherUserIds = value;
	}
}
```

Serialisieren via:

```
fos = new FileOutputStream(settingsFile);

			// Create XML encoder.
			XMLEncoder xenc = new XMLEncoder(fos);

			// Write object.
			xenc.writeObject(settings);
			xenc.close();
```
Für das Feld serverUrl klappt das auch ganz wunderbar, nur beim Feld otherUserIds nicht. Ich vermute, es liegt daran, dass es sich dabei um eine Liste handelt.

Gibt es dafür eine "einfache" Lösung oder muss ich selbst eine serialisierbare Liste erstellen?

Danke im Voraus


----------



## Noctarius (6. Feb 2010)

Reagiert der XMLEncoder überhaupt auf die Xml-Bind Annotations?
Normal macht der doch dieses spezielle Java-Sun-Xml Format oder nicht?


----------



## dev_random (6. Feb 2010)

Oh, sry. Das war ein Test-Überbleibsel. Auch ohne Annotation tut's nicht.


----------



## Noctarius (6. Feb 2010)

Also eigentlich persistiert der Listen auch. Hast du mal versucht die LinkedList gegen eine ArrayList zu tauschen?


----------



## dev_random (6. Feb 2010)

Exakt das war's. Vielen Dank.


----------



## Noctarius (6. Feb 2010)

Hehe kein Problem


----------

