我正在使用JAXB来解组xml文件。 这是我的元素功能代码,但我想在元素功能中有一个特殊的元素顺序,比如这个
<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中定义了一个属性。但由于属性是多个,可能是一个或多个,我不知道实现它。 或者您知道其他方式来订购元素
感谢您的提前帮助
答案 0 :(得分:3)
propOrder
基于字段/属性名称而不是XML元素名称。所以你应该
@XmlType(propOrder = {"name", "active","attributes"})
了解更多信息