JAXB解组,保证元素的顺序

时间:2014-08-26 20:46:24

标签: java xml jaxb

我在列表中用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)我可以通过{{1 }}。尽管如此,它似乎以与XML文件相同的顺序解组它们,所以有没有必要担心它?

1 个答案:

答案 0 :(得分:5)

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