【发布时间】:2014-12-13 01:57:02
【问题描述】:
我无法正确注释我的类,这样自封闭标签会导致类创建一个空列表。换句话说,该列表根本没有在 XML 中指定。
对于我的问题,我将参考以下两个示例类:
@XmlRootElement(name="a")
public class A {
@XmlElement
List<B> bs;
}
@XmlRootElement(name="b")
public class B {
@XmlValue
String v;
}
这个 XML 可以很好地解组:
<a>
<b>One</b>
<b>Two</b>
<b>Three</b>
</a>
第二个 XML 示例也使用预期的空列表正确解组:
<a>
<b/>
</a>
但是,第三个示例导致 XML 根本不解组。
<a/>
我希望在解组第三个示例时看到的行为与第二个示例中的类使用空列表初始化的行为相同。这可能使用 JAXB,还是我试图做一些与定义的行为背道而驰的事情?
【问题讨论】:
-
根本不解组 - 在什么意义上?你不会有例外吧?
-
不抛出 JAXBException。当 A 是一个字段时,该字段被设置为 null。
标签: java xml jaxb unmarshalling