2013-05-31 3 views
0

Я хотел бы использовать JAXB для отмены следующего XML-класса Person, но просто добавление @XmlElement(name = "postcode") в поле postcode в классе Person не работает. Что мне здесь не хватает, пожалуйста?JAXB Unmarshalling вложенный тег для корневого класса

<Person> 
    <name>xyz</name> 
    <age>123</age> 
    <details> 
     <phone>123342</phone> 
     <postcode>xyz</postcode> 
    </details> 
</Person> 


public Class Person { 

    private String name; 
    private int age; 
    private String postcode; 

} 
+0

возможно дубликат [разбор подузлы с Джерси] (http://stackoverflow.com/questions/3708532/parsing-subnodes-with -jersey) –

+0

Это было разрешено с предложением здесь - http://stackoverflow.com/questions/3708532/parsing-subnodes-with-jersey – mevinsh

ответ

0

Проблема в том, что почтовый индекс является дочерним элементом подноса деталей. Вам нужно создать объект Details с телефоном и почтовым индексом как дети. Подробности будут выглядеть

public class Details 
{ 
    String phone; 
    String postcode; 
} 

И лицо будет выглядеть следующим образом:

public Class Person 
{ 
    private String name; 
    private int age; 
    private Details details; 
} 
+0

Спасибо Стивену, но я действительно хотел смоделировать его в одном доменном объекте. Предложение XmlJavaTypeAdapter здесь http://stackoverflow.com/questions/3708532/parsing-subnodes-with-jersey помогло мне решить эту проблему. – mevinsh

+0

Ах, я не понимал, что это была твоя цель. Рад, что вы разобрались! –

Смежные вопросы