Java JAXB注释-马歇尔列表<;字符串[]>;

Java JAXB注释-马歇尔列表<;字符串[]>;,java,xml,jakarta-ee,jaxb,marshalling,Java,Xml,Jakarta Ee,Jaxb,Marshalling,我有一个简单的目标: @XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public class SimilarityInfoResult { private String name; private List<String[]> parameters; public SimilarityInfoResult() { } public SimilarityInfoResult(S

我有一个简单的目标:

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class SimilarityInfoResult {

    private String name;

    private List<String[]> parameters;

    public SimilarityInfoResult() {
    }

    public SimilarityInfoResult(String name, List<String[]> parameters) {
        this.name = name;
        this.parameters = parameters;
    }

...

}
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
公共类相似性信息结果{
私有字符串名称;
私有列表参数;
公共相似性信息结果(){
}
公共相似性信息结果(字符串名称、列表参数){
this.name=名称;
此参数=参数;
}
...
}
其映射如下所示:

   <similarityInfoResult>
        <name>SubstructureSimilarity</name>
        <parameters>
            <item>treshold</item>
            <item>Double</item>
        </parameters>
        <parameters>
            <item>numberOfResults</item>
            <item>Integer</item>
        </parameters>
    </similarityInfoResult>

子结构相似性
特雷肖尔德
双重的
结果数
整数
期望输出:

<similarityInfoResult>
    <name>SubstructureSimilarity</name>
    <parameters>
        <parameter>
            <name>treshold</name>
            <type>Double</type>
        </parameter>
        <parameter>
            <name>results</name>
            <type>Integer</type>
        </parameter>
    </parameters>
</similarityInfoResult>

子结构相似性
特雷肖尔德
双重的
结果
整数

我应该如何使用注释来实现这一点?可能吗?也许我必须制作特殊的参数对象和
列表
?谢谢

您需要添加
参数
类来保存
名称
类型
。 并将
List
更改为
List

通过这种方式,您可以更轻松地控制参数对象的XML解析

和使用:

@XmlElementWrapper(name="parameters")
@XmlElement(name="parameter")
private List<Parameter> parameters;
public class Parameter{

    private String name;
    private String type;
...

}