# JAXB - Any Elementliste - wie Werte verändern?



## Stroker89 (13. Dez 2012)

Hallo,

ich habe eine XSD File in der es einen "Any"-Abschnitt gibt:


```
<xs:element name="payload">
  	<xs:complexType>
  		<xs:sequence>
  		       	<xs:any processContents="skip" namespace="##any" maxOccurs="unbounded" minOccurs="0"/>
  		</xs:sequence>
  	</xs:complexType>
  </xs:element>
```

der XJC-Compiler hat mir auch die passende Klasse dazu generiert:


```
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "any"
})
@XmlRootElement(name = "payload")
public class Payload {

    @XmlAnyElement
    protected List<Element> any;

    public List<Element> getAny() {
        if (any == null) {
            any = new ArrayList<Element>();
        }
        return this.any;
    }

}
```

Momentan lese ich die Werte einfach rekursiv aus, was aber nur die halbe Miete ist.
Jetzt möchte ich die Werte in dieser Liste aber verändern und in der Liste abspeichern.
Wie gehe ich da am besten vor?

Gruß


----------



## Stroker89 (13. Dez 2012)

Habe es jetzt vorerst so gemacht, dass ich mir alle Daten die ich brauche speichere, dann die Liste gecleart. Anschließend neue Elements erstellt und diese zur List<Element> hinzugefügt.

Gruß


----------



## AndiE (13. Dez 2012)

Das gehört zwar nicht ganz zum Thema, aber ich kann die Schritte nicht nachvollziehen. Wenn ich unter Eclipse Juno eine neue XSD aufmache, und den obigen Code hereinkopiere, erhalte ich bei Aufruf von "...-Generate- JAXB Classes" eine Fehlermeldung. Ich kann kein "xmlns:xs=..." setzen, sondern erhalte dann eine Fehlermeldung. Setze ich "xmlns=..." und lösche den Präfix "xs:" bei allen Elementen, generiert das System eine Klasse wie im Post angegeben( mit vielen Kommentaren). Aber wieso kann ich keine Präfixe eingeben? Wo kann ich das ändern?


----------



## Stroker89 (13. Dez 2012)

Weil das nur ein Teil meiner xsd ist :-D. Wenn ich am Rechner bin stell ich die ganze rein.

Gruß


----------



## AndiE (13. Dez 2012)

Danke, schon erledigt. ich habe einen Fehler gemacht. ich hätte "<xs:schema ... </xs:schema>" setzen sollen.

Danke trotzdem nochmal.


----------

