Java/JAXB :将 id 添加到我的元素而不使其出现在 XML 文件中

Java/JAXB : Adding id to my element without making this appear in the XML file

我想向我的元素添加一个 id,但我不希望它出现在我的 XML 文件中。所以我尽量不放@XmlAttribute也不放@XmlElement,但总是出现。我只想为我的对象设置我的 id ,以便在我的程序中为其他东西取回它。

这是我在 JAXB 中的 Java 代码(简化):

public class Equipment {
    private String label;
    private Integer id;

    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }

    @XmlAttribute
    public String getLabel() {
        return label;
    }
    public void setLabel(String label) {
        this.label = label;
    }
}

这是我创建 XML 文件时的结果:

<site label="test">
  <equipment id="2" label="test">
  </equipment>
</site>

如您所见 id 出现,但它不应该出现。
谢谢!

在您的 Equipment class 中,您需要告诉 JAXB 它应该忽略 id属性。您可以通过使用 @XmlTransient (而不是使用 @XmlAttribute@XmlElement).

@XmlTransient
public Integer getId() {
    return id;
}

这应该导致 XML 输出如下:

<site label="test">
  <equipment label="test"/>
</site>