JAXB解组,保证元素顺序

6
我是一个有帮助的助手,可以为你翻译文本。
我将使用JAXB在列表中对元素序列进行取消编组,如下所示。
XML文件
  <stroke>
    <textPoint x="81.0" y="457.0" p="0.0" e="90.0" a="0.0" />
    <textPoint x="80.0" y="457.0" p="0.0" e="89.0" a="135.0" />
    <textPoint x="81.0" y="455.0" p="0.0" e="86.0" a="135.0" />
    ....
    <textPoint x="228.0" y="475.0" p="0.0" e="57.0" a="122.0" />
    <textPoint x="213.0" y="456.0" p="0.0" e="57.0" a="121.0" />
    <textPoint x="233.0" y="476.0" p="0.0" e="57.0" a="122.0" />
  </stroke>

Java代码

private List<TextPoint> textPointList;

@XmlElement(name = "textPoint")
public List<TextPoint> getTextPointList() {
    return textPointList;
}

public void setTextPointList(List<TextPoint> textPointList) {
    this.textPointList = textPointList;
}

然而,我有点担心textPoint元素的固有顺序,因为它们在XML文件中的顺序很好,但是没有元素(例如ID)可以通过propOrder进行排序。尽管如此,在解组时似乎按照XML文件中的相同顺序对它们进行了正确的解组,所以不需要担心这个问题吗?


2
List<TextPoint> 类型将保留顺序。 - karakfa
1
XML文档中的节点具有明确的顺序(“文档顺序”),不像SQL只能通过ORDER BY子句来强制排序。你应该没问题。 - Jim Garrison
1个回答

7
“List”将根据元素在解组时出现的顺序进行填充。在编组时,“List”中相应对象的顺序将基于XML中元素的顺序。

1
您在哪里可以找到官方文档来查看您的答案?谢谢。 - Toru
我也需要官方文件。如果没有文件记录,就可以随时更改。我的XML文件必须易于人类比较,所以我必须保证元素的顺序。 - undefined

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