2012-09-18 24 views
6

JAXB kullanarak boş değerlerin() boş öğeler olarak sıralanmamasını sağlamak mümkündür. Telefon elemanın biri null Örneğinjaxb marshalling boş öğeleri atla

public class Contacts { 
    @XmlElement(name = "Phone") 
    protected List<Phone> phone; 
    } 

anda ben

<contact> 
     </phone> 
     <phone> 
       <areacode>919</areacode> 
       <phonenumber>6785432</phonenumber> 
     </phone> 
    </contact> 

i

<contact> 
      <phone> 
        <areacode>919</areacode> 
        <phonenumber>6785432</phonenumber> 
      </phone> 
    </contact> 

cevap

4

Boş değerleri boş eleman olarak sıralanmış değil şu çıktıyı istiyorum olsun varsayılan olarak.
Yalnızca boş değerler, boş eleman olarak boşalmıştır

Örneğinizde boş Phone object öğesiyle koleksiyon kullanıyorsunuz. Listede iki öğeniz var: empty Phone (tüm alanlar null) ve boş olmayan null olan Phone object.

public class Contacts { 
    @XmlElement(name = "Phone") 
    protected List<Phone> phone = Arrays.asList(new Phone[]{null, null, null}); 
} 

<contact/> 

ama

public class Contacts { 
    @XmlElement(name = "Phone") 
    protected List<Phone> phone = Arrays.asList(new Phone[]{new Phone(), new Phone(), null}); 
} 

için sıraya edilecektir
Yani,

<contact> 
    <Phone/> 
    <Phone/> 
</contact> 
için sıraya edilecek