java - Jaxb如何抑制tagName但获取值

标签 java xml jaxb

我正在使用 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/

相关文章:

jquery - DOM异常: Failed to execute 'send' on 'XMLHttpRequest' on Chrome only

java - Spring Boot,JaxB 的 ClassNotDef 错误,包 -Info.java

JAXB 使用包含内容解码 xml

java - 对话框标题栏中的自定义按钮

regex - 如何查找和替换 <wp :postmeta> </wp:postmeta> tags using Notepad++ 之间的文本

java - 在 Java 限定类型中有注释 tmesis/inside 的目的是什么?

java - Eclipse RCP 找不到 EclipseStarter

java - 如何删除 xmlns :xsi and xsi:type from JAXB marshalled XML file

java - 在Java中开发泛型修饰符的正确方法

java - Spring data elasticsearch GeoPoint 与 spring mvc