我有一个名字很长的类,它使用 JAXB 转换为 XML。使用@XmlRootElement(name="nicername")
,我可以将外部 XML 标记重命名为<nicername>
.
如何将具有丑陋名称的单个属性也重命名为一些好听的名称?
我有一个名字很长的类,它使用 JAXB 转换为 XML。使用@XmlRootElement(name="nicername")
,我可以将外部 XML 标记重命名为<nicername>
.
如何将具有丑陋名称的单个属性也重命名为一些好听的名称?
您可以使用@XmlAttribute
和@XmlElement
注释来更改 XML 名称。如果您对字段进行注释,请务必@XmlAccessorType(XmlAccessType.FIELD)
在类上使用注释:
@XmlRootElement(name="nice-name")
@XmlAccessorType(XmlAccessType.FIELD)
public class UglyName {
@XmlElement(name="nice-element-name")
private String uglyElementName;
@XmlAttribute(name="nice-attribute-name")
private String uglyAttributeName;
}
或者您可以注释属性:
@XmlRootElement(name="nice-name")
public class UglyName {
private String uglyElementName;
private String uglyAttributeName;
@XmlElement(name="nice-element-name")
public String getUglyElementName() {
return uglyElementName;
}
public void setUglyElementName(String name) {
this.uglyElementNamne = name;
}
@XmlAttribute(name="nice-attribute-name")
public String getUglyAttributeName() {
return uglyAttributeName;
}
public void setUglyAttributeName(String name) {
this.uglyAttributeNamne = name;
}
}
@XmlAttribute 和@XmlElement 注释都可以使用与@XmlRootElement 注释相同的语法按名称重新映射。因此,只需将相关注释附加到您需要重新映射的每个单独的字段/属性,并为“名称”提供一个参数。
您可以使用以下方法为对象属性定义替代名称:
XMLAttribute
属性注释XMLElement
元素注释