2013-12-20 4 views
2

Я использую JAXB для создания файла XML-файла unmarshall. вот мой код для функции элемента, но я хочу иметь специальный порядок элементов в функции элемента, как этотJAXB и упорядочение свойств со списком элементов

<feature> 
    <name>2D Polynomial Approximation of Log of ConstantQ</name> 
    <active>false</active> 
    <attribute>50</attribute> 
    <attribute>20</attribute> 
    <attribute>10</attribute> 
    <attribute>10</attribute> 
</feature> 

Я проверил некоторые учебник @XmlType (propOrder = {}), но я не может найти способ заказа со списком элементов, таких как элементы атрибута.

здесь мои коды

@XmlRootElement(name = "feature") 
@XmlType(propOrder = {"name", "active","attribute"}) 
public class Feature{ 

    String name; 

    boolean active; 

    List<String> attributes = new LinkedList<String>(); 

    /** 
    * name element of feature element 
    * @return 
    */ 
    @XmlElement(name = "name") 
    public final String getName(){ 
     return this.name; 
    } 

    public final void setName(String name){ 
     this.name = name; 
    } 

    /** 
    * active element 
    * @return 
    */ 
    @XmlElement(name = "active") 
    public final boolean getActive(){ 
     return this.active; 
    } 

    public final void setActive(boolean active){ 
     this.active = active; 
    } 

    /** 
    * attribute elements 
    * @return 
    */ 
    @XmlElement(name = "attribute") 
    public final List<String> getAttributes(){ 
     return this.attributes; 
    } 

    public final void setAttributes(List<String> attributes){ 
     this.attributes = attributes; 
    } 
} 

Он всегда выбрасывает исключение, так как я только определить один атрибут в propOrder. Но поскольку атрибут несколько, может быть один или несколько, у меня нет идеи его реализовать. Или вы знаете другой способ упорядочить элементы

Спасибо за вашу помощь, заранее

ответ

2

The propOrder на основе имени поля/свойства, а не имя XML-элемента. Таким образом, вы должны иметь

@XmlType(propOrder = {"name", "active","attributes"}) 

Для получения более подробной информации

+0

Эй, Блейз, Thnks, могли бы вы объяснить мне более подробную информацию о том, как это осуществить? – ZYJ

+0

@ZYJ - Я добавил, что вам нужно для изменения 'propOrder'. –

+0

ах, хорошо, я вижу, большое спасибо – ZYJ

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