gpt4 book ai didi

java - JAXB 和带有元素列表的属性排序

转载 作者:数据小太阳 更新时间:2023-10-29 02:30:31 27 4
gpt4 key购买 nike

我正在使用 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 中定义了一个属性。但是由于属性是多个,可以是一个或多个,我不知道如何实现它。或者你知道其他排序元素的方法吗

提前感谢您的帮助

最佳答案

propOrder 基于字段/属性名称而不是 XML 元素名称。所以你应该有

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

了解更多信息

关于java - JAXB 和带有元素列表的属性排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20708049/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com