Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在SpringWebService中删除xml请求中的空标记?_Java_Xml_Jaxb_Xjc - Fatal编程技术网

Java 如何在SpringWebService中删除xml请求中的空标记?

Java 如何在SpringWebService中删除xml请求中的空标记?,java,xml,jaxb,xjc,Java,Xml,Jaxb,Xjc,我遇到了一个问题,在这个问题中,从xml传递空的或空的标记复杂元素,它在java代码中是一个非空对象 例如: 假设我的jaxb生成的类名是Employee,它有两个简单的元素id和name import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement public class Employee { private

我遇到了一个问题,在这个问题中,从xml传递空的或空的标记复杂元素,它在java代码中是一个非空对象

例如:

假设我的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不会显示为null。我希望对象中的该employee显示为null,以避免if条件中的某些逻辑:

if(employee!=null)
为了从xsd生成java类,xjc工具使用ant脚本。因此stackoverflow的解决方案不适用于我的场景:-

解决方案1-确保属性设置为null,而不是

解决方案2-编写一个转换为null的XmlAdapter


请帮助我将xml字符串的空白/空标记设置为null对象。是否有任何ant xjc属性可用于实现此目的?

在您的示例中,Employee是有效的xml元素,不应为null。xml元素值为空。如果xml值长度为==0,则可以添加if语句,然后返回null。Employee类没有任何长度方法。如何使用长度?请显示Employee类的源代码,将其添加到问题中查看本教程,看看是否可以将这些方法应用于问题,