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>
我想向我的元素添加一个 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>