Ich bin Parsen eines XML entordnen, die Knoten wie folgt hat:JAXB unter Verwendung von Elementen mit unterschiedlichen/dynamischen Namen Dokument
<objects>
<dog>
<data1>...</data1>
<data2>...</data2>
<data3>...</data3>
</dog>
<cat>
<data1>...</data1>
<data2>...</data2>
<data3>...</data3>
</cat>
</objects>
Die Elemente data1, Daten2, data3 sind immer konsistent. Nur das übergeordnete Tag variiert. In meinem Objektmodell habe ich ein einzelnes Objekt, das alle diese Fälle repräsentiert. Wie kann ich JAXB dazu bringen, mit diesem Fall umzugehen, ohne vorher den Namen des Elements zu kennen?
@XMLAnyElement stimmt mit allen Objekten überein, erstellt jedoch kein Objekt des entsprechenden Typs. Ich bekomme eine Liste von Knoten-Objekten anstelle von meinem Objekt. Mein Objekt sieht zur Zeit so etwas wie:
public class MyObject {
protected String otherData;
@XmlAnyElement
@XmlElementWrapper(name = "objects")
protected List<MyChildObject> childObjects;
}
public class MyChildObject {
protected String data1;
protected String data2;
protected String data3;
}
Irgendwelche Ideen, wie man diesen Fall kurz zu handhaben von dem eingehende XML-Format zu ändern <object type="dog">
Elemente verwenden?
Danke, das macht Sinn. Wir werden fortfahren und das Schema ändern, da wir diese Fähigkeit vorerst haben. – chetan