Я новичок в java (исходя из фона c # .net) и пытался выполнить приведенный выше пример для маршалинга и демаршалирования.
Перейдя по ссылке ниже Маршаллинг списка объектов, реализующих общий интерфейс, с JaxB
используя вышеупомянутую технику, упомянутую г-ном Блейзом Доганом, я смог маршалировать объекты Java в xml. Но когда я сохраняю этот xml и пытаюсь разобрать xml обратно в объект java, я получаю на консоли следующее:
com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 2 количества IllegalAnnotationExceptions @javax.xml.bind.annotation.XmlElementRef аннотация найдена в двух местах; одного было бы достаточно. эта проблема связана со следующим расположением: в @javax.xml.bind.annotation.XmlElementRef(name=##default, required=true, type=class javax.xml.bind.annotation.XmlElementRef$DEFAULT, namespace=) в public java.util.List Community.getPeople() в Community эта проблема связана со следующим местоположением: @javax.xml.bind.annotation.XmlElementRef(name=##default, required=true, type=class javax.xml .bind.annotation.XmlElementRef$DEFAULT, namespace=) в public void Community.setPeople(java.util.List) в Community....
Примечание. Я создал геттеры/сеттеры для Class Boy и Class Girl для реализации десортировки.