gpt4 book ai didi

java - JAXB 注释 - Marshall List

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

我有这个简单的对象:

@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;
}

...

}

它是这样映射的:

   <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<Parameter> ?谢谢

最佳答案

您需要添加 Parameter举办类(class)nametype .并更改 List<String[]>List<Parameter> .

这样可以更方便的控制参数对象的XML解析。

并使用:

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

和:

public class Parameter{

private String name;
private String type;
...

}

关于java - JAXB 注释 - Marshall List<String[]>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14921866/

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