我正在使用 JAXB 生成 xml。XML 必须如下所示
<batch>
<elem id=101>
<field name=country>US</field>
<field name=criteria>Test criteria</field>
:
:
</elem>
</batch>
所有内部内容都是字段。我有一个名为“field”的java类,它具有“名称”和“值”字符串属性以及getter和setter。 'Elem' 类将 'field' 作为数组列表。 当我编码时使用 Jaxb 它也包含“值”在字段内。 实现这一目标的有效方法是什么?我应该过滤“值”标签(抑制)还是应该更改java对象结构? 我得到的是这个
<batch>
<elem id=101>
<field name=country><value>US</value></field>
<field name=criteria><value>Test criteria</value></field>
:
:
</elem>
</batch>
字段类如下所示
import javax.xml.bind.annotation.XmlAttribute;
public class Field {
private String name;
private String value;
public Field() {
}
public Field(String name, String value) {
super();
this.name = name;
this.value = value;
}
@XmlAttribute
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
最佳答案
我发现它的标签 @XmlValue 应该应用于 Field 类中的值字段,并为我提供正确格式的 xml。
关于java - Jaxb如何抑制tagName但获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49825791/