10 Kasım 2017 Cuma

JAXB @XmlElementWrapper Anostasyonu

Giriş
Açıklaması şöyle
XmlElementWrapper: Generates a wrapper element around XML representation. This is primarily intended to be used to produce a wrapper XML element around collections.
@XmlElement'i başka bir tag ile sarmalar. Liste tarzı yapıların sarmalanması için kullanılır.

Örnek
Elimizde şöyle bir kod olsun.
@XmlRootElement(name="car")
public class Car {
  ...

  @XmlElementWrapper(name="recalls")  
  @XmlElement(name="recall")
  private ArrayList<Recall> list;
}
Çıktı olarak şunu alırız.
<car>
  <vid>vid</vid>
  <make>make</make>
  <model>model</model>

  <recalls>
    <recall>
      <type>Recall1</type>
      <date>01/01/11</date>
    </recall>
    <recall>
      <type>Recall2</type>
      <date>01/01/11</date>
    </recall>
  </recalls>

  <engSpec>
    <power>200HP</power>
    <size>size</size>
  </engSpec>
</car>
Eğer @XmlElement'i kullanmasaydık çıktı olarak şunu alırdık.
<car>
  <vid>vid</vid>
  <make>make</make>
  <model>model</model>

  <recalls>
    <type>Recall1</type>
    <date>01/01/11</date>
  </recalls>
  <recalls>
    <type>Recall2</type>
    <date>01/01/11</date>
  </recalls>
  <engSpec>
    <power>200HP</power>
    <size>size</size>
  </engSpec>
</car>

Hiç yorum yok:

Yorum Gönder