如何在spring webservice中删除xml请求中的空标记?

时间:2015-05-21 15:40:59

标签: java xml jaxb xjc

我遇到过一个问题,其中从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属性?

0 个答案:

没有答案