- Я хочу удалить пустой тег из XML.
Amit
Итак, в приведенном выше примере XML lastName является пустым и в настоящее время представлено пустыми тегами в XML.
Но я хочу XML в следующем формате:
Amit
Итак, расширен XmlAdapter, как показано ниже:
package com.jaxb.domain;
import javax.xml.bind.annotation.adapters.XmlAdapter;
import org.springframework.util.StringUtils;
public class NullifyAdapter extends XmlAdapter<String, String> {
@Override
public String unmarshal(String strValue) throws Exception {
// TODO Auto-generated method stub
return strValue;
}
@Override
public String marshal(String strValue) throws Exception {
if (StringUtils.isEmpty(strValue)) {
return null;
}
return strValue;
}
}
Зарегистрируйте уровень пакета в package-info.java, как показано ниже:
@XmlJavaTypeAdapters({
@XmlJavaTypeAdapter(value=NullifyAdapter.class, type=String.class)
})
package com.jaxb.domain;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters;
После вышеуказанных изменений сгенерированный XML выглядит следующим образом:
Amit
В моем классе привязки jaxb поле определено как:
@XmlElement(name = "LastName")
protected String lastName;
Подскажите пожалуйста, как полностью удалить lastName? Есть много полей, которые мне нужно удалить, поэтому я хочу найти решение в похожих строках.