Если вы действительно хотите сохранить смешанную последовательность, такую как <Person> <Address> <Person> <Address>
(как вы говорите в своем комментарии к ответу @ Vankuisher), тогда вам нужно хранить Person
s и Address
не в двух отдельных List
s, но вместе в пределах то же самое List
.
Для этого Person
и Address
должны быть подклассами общего суперкласса (например, class Person extends Item
и class Address extends Item
).Затем вы используете аннотацию @XmlElements
для определения соответствия между именами элементов XML и классами Java:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "MyRoot")
public class MyRoot {
@XmlElements({
@XmlElement(name = "Address", type = Address.class),
@XmlElement(name = "Person", type = Person.class)
})
private List<Item> items;
// public getters and setters (omitted here for brevity)
}
При маршалинге такого объекта MyRoot
вы получите вывод XML ста же последовательность предметов, что и в List<Item>
.