2
我有两个类,Node和Group,Group是Node的子类。如何使用JAXB从一个类生成两个不同的结构xml
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Node", propOrder = {
"id",
"children"
})
public class Node {
protected int id;
protected List<Node> children;
}
然后Group类
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Group", propOrder = {
"name"
})
public class Group extends Node{
protected String name;
}
我必须定义一个类树包含节点类,这样的名帅后,将XML
<tree>
<children>
<id>1</id>
<children>
<id>2</id>
</children>
<children>
<id>3</id>
</children>
</children>
</tree>
还有另外一个阶层群体遏制所有组都在阵列中,所以我希望xml应该是
<groups>
<groups>
<name>group-1</name>
</groups>
<groups>
<name>group-2</name>
</groups>
<groups>
<name>group-3</name>
</groups>
</groups>
但由于集团继承节点,所以第二个经常产生这样的XML
<groups>
<groups>
<id>group-1</id>
<name>group-1</name>
<children>
<id>2</id>
<name>group-2</name>
</children>
<children>
<id>3</id>
<name>group-3</name>
</children>
<groups>
<groups>
应该如何对待我的两个不同的类,以不同的XML文件中,即使它们是继承关系。 我需要该对象来处理当前继承的设计。所以继承的不能被删除。
如果我将@XmlTransient添加到Node的children属性,第二个xml将成为我想要的,但第一个xml无法生成为我想要的。
我现在很困惑,不知道该怎么做。
任何建议是值得欢迎的。
在此先感谢。
非常感谢!这似乎工作。我会试试看。 – 2010-11-23 02:34:40