问题描述
您可以创建一个void afterUnmarshal(Unmarshaller, Object parent)
被称为…的方法,在解组后,根据需要设置对象树。
解决方法
我想在子对象和父对象之间的类中使用双向导航方法。在我的情况下,IDREF是不够的,因为我不想指定父代的ID。要清楚,从这样的xsd:
<complexType name="A">
<xs:sequence>
<element name="b" type="B" minOccurs="0" maxOccurs="unbounded"></element>
</xs:sequence>
<attribute name="id" type="ID"></attribute>
</complexType>
<complexType name="B">
<attribute name="id" type="ID"></attribute>
</complexType>
我希望类看起来像这样:
class A {
...
public List<B> getB() { ...}
...
}
class B {
...
public A getA() {
...
}
而且我的xml必须看起来像这样:
<a id="a1">
<b id="b1"/>
<b id="b2"/>
...
</a>
解组后,我希望能够通过b.getA())从A导航到Bs,从B导航到A!这是一个非常基本的功能,但我找不到实现此目的的简单方法…
任何想法 ??
提前致谢