estoy analizar un documento XML que tiene nodos como las siguientes:JAXB para Resolver referencia elementos con distintos nombres/dinámicas
<objects>
<dog>
<data1>...</data1>
<data2>...</data2>
<data3>...</data3>
</dog>
<cat>
<data1>...</data1>
<data2>...</data2>
<data3>...</data3>
</cat>
</objects>
Los elementos de datos1, datos2, datos3 son siempre coherentes. Solo la etiqueta principal varía. En mi modelo de objetos, tengo un solo Objeto que representa todos estos casos. ¿Cómo puedo hacer que JAXB maneje este caso sin saber de antemano el nombre del elemento?
@XMLAnyElement coincide con todos los objetos pero no crea un objeto del tipo apropiado; Obtengo una lista de objetos Node en lugar de mi objeto. Mi objeto actualmente se ve algo como:
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;
}
Alguna idea de cómo manejar este caso menos que cambiar el formato XML entrante para utilizar <object type="dog">
elementos?
Gracias, eso tiene sentido. Vamos a seguir adelante y cambiar el esquema ya que tenemos esa capacidad por el momento. – chetan