Je suis analyse d'un document XML qui a des nœuds comme les suivants:En utilisant JAXB à unmarshall éléments avec différents noms/dynamiques
<objects>
<dog>
<data1>...</data1>
<data2>...</data2>
<data3>...</data3>
</dog>
<cat>
<data1>...</data1>
<data2>...</data2>
<data3>...</data3>
</cat>
</objects>
DATA1 éléments, données2, data3 sont toujours cohérentes. Seule la balise parent varie. Dans mon modèle d'objet, j'ai un seul objet qui représente tous ces cas. Comment puis-je demander à JAXB de traiter ce cas sans connaître à l'avance le nom de l'élément? @ XMLAnyElement correspond à tous les objets mais ne crée pas un objet du type approprié; Je reçois une liste d'objets Node au lieu de mon objet. Mon objet ressemble actuellement quelque chose comme:
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;
}
Toute idée comment gérer ce court cas de modification du format XML entrant utiliser <object type="dog">
éléments?
Merci, cela a du sens. Nous allons aller de l'avant et changer le schéma puisque nous avons cette capacité pour le moment. – chetan