JAXB反序列化集合元素顺序

5
假设我有以下XML:

<?xml version="1.0" encoding="utf-8"?>
<names>
    <name first="John" last="Doe"/>
    <name first="Jane" last="Doe"/>
    ...
</names>

这是我的代码:
final JAXBContext context = JAXBContext.newInstance(Names.class);
final Unmarshaller um = context.createUnmarshaller();
final InputStream in = new FileInputStream(file);
final Reader reader = new InputStreamReader(in, Charset.forName("UTF-8"));
final Names namesList = (Names) um.unmarshal(reader);
...

现在我找不到任何文档描述这些元素的顺序。 在我的应用程序中,XML文件中的顺序与Java对象中的顺序相同非常重要。我尝试查看源代码,但很难理解。希望有人能帮助我解决这个问题。谢谢。

kuku


1
由于XML文件中的顺序很重要,我非常确定顺序将与XML文件中完全相同。 - Joachim Sauer
1个回答

4

在你的博客中,提到了关于marshalling的事情...对于unmarshalling也是如此吗?此外,您是否知道有关显式描述此行为的javadoc或文档?我已经使用JAXB有一段时间了,但我不能百分之百确定集合和xml文档的顺序是否匹配,因为我在文档中没有找到任何提及。 - chahuistle
1
我目前正在寻找一个参考。这是我们在JAXB 2专家组(JSR-222)中可能认为理所当然的行为。这是Metro(参考实现)和EclipseLink MOXy(我是技术负责人)实现工作的方式。从提供者和用户的角度来看,很难想象行为会有任何其他方式。 - bdoughan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接