Sto parsing di un documento XML che ha nodi come la seguente:Utilizzando JAXB per unmarshall elementi con diversi nomi/dinamici
<objects>
<dog>
<data1>...</data1>
<data2>...</data2>
<data3>...</data3>
</dog>
<cat>
<data1>...</data1>
<data2>...</data2>
<data3>...</data3>
</cat>
</objects>
Gli elementi data1, data2, dati3 sono sempre coerenti. Solo il tag principale varia. Nel mio modello a oggetti ho un singolo oggetto che rappresenta tutti questi casi. Come posso ottenere JAXB per gestire questo caso senza conoscere in anticipo il nome dell'elemento?
@XMLAnyElement corrisponde a tutti gli oggetti ma non crea un oggetto del tipo appropriato; Ricevo un elenco di oggetti Node invece del mio oggetto. Il mio scopo attualmente sembra qualcosa di simile:
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;
}
Delle idee come gestire questo caso a corto di cambiare il formato XML in ingresso da usare <object type="dog">
elementi?
Grazie, ha senso. Stiamo andando avanti e cambiamo lo schema dal momento che abbiamo quell'abilità per ora. – chetan