1
resposta

Retirar xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance do XML

Boa tarde,

Estou com um problema e não consigo achar solução.

quando um elemento e nulo o JAXB coloca "xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" na tag, eu queria retirar este valor ficando assim:

De:

<Teste xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance/>

Para:

Exemplo de JAXB:

@XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public class Teste implements Serializable {

private static final long serialVersionUID = 1L;

@XmlElement(name = "Teste", nillable = true, required = true) private String teste;

Já pesquisei varias coisas mas sem sucesso.

Grato

1 resposta

Fala aí dc_batera tudo bem?

Isso está ocorrendo pois seu elemento é obrigatório (required=true) e também pode ser nulo (nillable=true).

Mas uma forma de resolver esse problema é criando um adapter assim quando o valor for nulo você pode retornar uma string vazia no lugar de nulo. E quando não for nulo retornar o próprio valor.

de uma olhada no link: https://docs.oracle.com/javase/7/docs/api/javax/xml/bind/annotation/adapters/XmlAdapter.html.

Espero ter ajudado.