У меня есть XML в следующем виде:
<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>
Я использую аннотации для сопоставления с классами 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{
...
}
В каждом элементе может быть много атрибутов.
Может кто-нибудь помочь мне, как правильно аннотировать классы Java?
Позвольте мнеотточить мой вопрос.Мне нужно построить из этого XML java-объекты, которые будут иметь 3 параметра: имя первого элемента (p1), имя дочернего элемента (p2), значения карты (p3).
Приведенный выше XML-код сгенерирует4 объекта java elem:
тип всех объектов java - elem!
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)
Заранее спасибо!Борис.