【发布时间】:2011-07-24 12:00:58
【问题描述】:
我的 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 构建一个具有 3 个参数的 java 对象:第一个元素的名称(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)
提前致谢! 鲍里斯。
【问题讨论】:
-
好的,那么当你尝试你拥有的东西时会发生什么?
-
问题是我现在不知道如何正确处理属性,例如在 elem2 中有属性名称 'attri1' 它也可以是其他一些属性,现在需要属性的名称然后它的价值..每个属性都是不同的对象。