2012-03-28 4 views
0

есть ли опция в JAX игнорировать значение null элемента из marshaling, , поэтому в случае, если у меня есть клиент Java-объекта и адрес равен нулю, во время маршалинга, как я могу написать xml без адрес тега (я не; хочу использовать EclipseLink JAXB (Moxy))Игнорировать пустой тег во время marshiling xml с использованием JAXB

Код Пример:

import javax.xml.bind.annotation.XmlElement; 
import javax.xml.bind.annotation.XmlRootElement; 

@XmlRootElement(name="Customer") 
public class Customer 
{ 
    @XmlElement(name = "name") 
    String name = null; 
    @XmlElement(name = "address") 
    String address = null; 

    public String getName() 
    { 
     return name; 
    } 

    public void setName(String name) 
    { 
     this.name = name; 
    } 

    public String getAddress() 
    { 
     return address; 
    } 

    public void setAddress(String address) 
    { 
     this.address = address; 
    } 


} 

в случае, если адрес является недействительным я ожидать не иметь адреса тега в XML.

Благодаря

+0

i don; t хочу значение по умолчанию, я хочу, чтобы в сгенерированном xml адрес тега не отображался – user1205079

+0

он работает :) Большое спасибо за ваш ответ – user1205079

+0

Могу ли я определить имя xml TAG во время выполнения в качестве входного от пользователя и не писать его как @XmlElement (name = "name") – user1205079

ответ

1

в случае, если адрес является null я ожидать не иметь address тег в XML

Это происходит по умолчанию.

+0

Да, вы правы, спасибо. – user1205079