J'ai XML comme suit:JAXB Unmarshalling objets polymorphes - collections?
<Temp NAME="bobo">
<elem1 />
<elem2>
<Attri1 ID="123" />
</elem2>
<elem3>
<Attri2 MOM="9" ID="7" SSS="2" />
</elem3>
<elem3>
<Attri3 MOM="44" ID="4" DSC="First Test"/>
</elem3>
</Temp>
J'utilise des annotations à la carte pour les classes java:
@XmlRootElement(name = "Temp")
public class Temp {
@XmlElements({
@XmlElement(name="elem1",type=elem.class),
@XmlElement(name="elem2",type=elem.class)})
public ArrayList<elem> elms;
}
public class elem {
...
}
public class elem1 extends elem{
...
}
public class elem2 extends elem{
...
}
public class elem3 extends elem{
...
}
Dans chaque élément il peut y avoir beaucoup d'attributs.
Quelqu'un peut m'aider s'il vous plaît comment annoter les classes Java correctement?
Permettez-moi d'aiguiser ma question. Je dois construire à partir de ce XML un objet java qui aura 3 paramètres: nom du premier élément (p1), nom de l'élément enfant (p2), valeurs de la carte (p3).
Le XML ci-dessus génère 4 objets java élém comme suit:
tous les objets java type est élém!
OBJ1:
p1 = elem1
p2 = null
p3 = null
obj2:
p1 = elem2
p2 = Attri1
p3 = map: key value
(ID, 123)
obj3:
p1 = elem3
p2 = Attri2
p3 = map: key value
(MOM, 9)
(ID, 7)
(SSS, 2)
obj4:
p1 = elem3
p2 = Attri3
p3 = map: key value
(MOM, 44)
(ID, 4)
(DSC, First Test)
Merci d'avance! Boris.
OK, alors que se passe-t-il lorsque vous essayez ce que vous avez? – skaffman
La chose est que je ne sais pas comment gérer les attributs correctement par exemple dans elem2 il y a un nom d'attribut 'attri1' il peut aussi s'agir d'un autre attribut, besoin maintenant du nom de l'attribut et de sa valeur. chaque attribut est objet différent. – boris