Java 使用JAXB解组xml文件时使用的策略是什么?
假设这些就是这些对象Java 使用JAXB解组xml文件时使用的策略是什么?,java,xml,jaxb,jaxb2,Java,Xml,Jaxb,Jaxb2,假设这些就是这些对象 @XmlRootElement @XmlAccessorType(XmlAccessType.PROPERTY) public class Root{ private Collection<Item> items; @XmlElement(name="item") @XmlElementWrapper(name="items") public void setItems(Collection<Item> items
@XmlRootElement
@XmlAccessorType(XmlAccessType.PROPERTY)
public class Root{
private Collection<Item> items;
@XmlElement(name="item")
@XmlElementWrapper(name="items")
public void setItems(Collection<Item> items){
this.items = items
}
}
@XmlRootElement
@XmlAccessorType(XmlAccessType.PROPERTY)
公共类根{
私人收藏物品;
@xmlement(name=“item”)
@xmlementwrapper(name=“items”)
公共作废集合项目(集合项目){
this.items=项目
}
}
及
@XmlRootElement
@XmlAccessorType(XmlAccessType.PROPERTY)
公共类项目{
私人收藏物品;
@xmlement(name=“item”)
公共作废集合项目(集合项目){
this.items=项目
}
}
我可以使用类似于此示例的结构来解组xml文件
<root>
<items>
<item>
<item>
<item></item>
<item></item>
</item>
<item></item>
<item></item>
</item>
<item></item>
<item></item>
<items>
</root>
实际问题是。当解组器调用Root.setItems(items)
时,是否保证此集合中每个项的每个属性都已完全初始化?是否可以更改解组器构建对象图的方式(从上到下或从下到上)
提前感谢。回答您的问题
实际问题是。当解组器调用
setItems(items)是否保证每个项的每个属性
此集合中的数据是否已完全初始化
对
是否可以更改解编程序构建
对象图(从上到下或从下到上)
没有
JAXB为何以这种方式工作
JAXB(JSR-222)实现将利用SAX或StAX解析器来高效地处理XML。这些解析器对XML文档进行深度优先遍历。因此,JAXB将以同样的方式填充对象。在JAXB知道集合中有第二个要处理的项之前,将完全处理与集合中第一个项对应的对象
<root>
<items>
<item>
<item>
<item></item>
<item></item>
</item>
<item></item>
<item></item>
</item>
<item></item>
<item></item>
<items>
</root>