我遇到过一个问题,其中从xml传递了空或空标记(复杂元素),它在java代码中作为not null
对象出现。
例如:
假设我的jaxb生成的类名是Employee
,有两个简单的元素id和name。
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class Employee {
private int id;
private String name;
@XmlElement
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@XmlElement
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
现在,如果我从xml请求传递<Employee></Employee>
,则对象雇员不会变为null。我希望对象中的此雇员为null,以避免在if条件中出现某些逻辑:
if(employee!=null)
要从xsd生成java类,使用xjc工具(ant脚本)。因此,stackoverflow上的解决方案不适用于我的场景: - Jax-WS - To Remove Empty Tags from Request XML
解决方案#1 - 确保该属性设置为null而不是&#34;&#34;
解决方案#2 - 编写一个转换&#34;&#34;的XmlAdapter为null
请帮我把xml字符串的空白/空标记设为null对象。是否有可用于实现此目的的ant xjc属性?