JAXB编组:使用属性创建空元素

时间:2014-09-10 12:19:35

标签: jaxb

我使用JAXB marshaller,我想添加一个具有特定属性的空元素。这是一个虚拟课程:

@XmlRootElement(name="observation")
public class Observation {

   @XmlAttribute
   public static final String classCode = "OBS";

   @XmlAttribute
   public static final String moodCode = "EVN";

   private String data;

   @XmlElement
   public String getData() {
       return data;
   }

   public void setData(String data) {
       this.data = data;
   }

这将创建以下XML:

<observation classCode="OBS" moodCode="EVN">
    <data>fsdfsdfd</data>
</observation>

有没有办法只添加一个具有特定属性的新元素(根本没有值)? E.g。

<observation classCode="OBS" moodCode="EVN">
    <templateId root="2.16.840.1.113883.10.20.1.31"/>
    <data>fsdfsdfd</data>
</observation>

1 个答案:

答案 0 :(得分:0)

这应该这样做:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "TemplateIdType")
public class TemplateIdType {

  @XmlAttribute(name = "root")
  protected String root;

  // getter and setter
}

(并将此类的元素添加到Observation中。)