Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.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 使用JAXB编组时消除空元素_Java_Jaxb - Fatal编程技术网

Java 使用JAXB编组时消除空元素

Java 使用JAXB编组时消除空元素,java,jaxb,Java,Jaxb,使用JAXB(2)可以确保null值不会被封送为()空元素。比如说 @XmlRootElement(name = "root") public class Root { @XmlElement(name = "name") protected String name; } 当前,如果名称为空,则我正在编组 <root> <name/> </root> 我想生产 <root> </root> 相反。我想你

使用JAXB(2)可以确保null值不会被封送为()空元素。比如说

@XmlRootElement(name = "root")
public class Root {
    @XmlElement(name = "name")
    protected String name;
}
当前,如果名称为空,则我正在编组

<root>
  <name/>
</root>

我想生产

<root>
</root>


相反。

我想你错过了什么。。当你封送它时,你传递的字符串不能为null,因为字符串null也是一个字符串。。因此,在我看来,您必须传递空字符串,而不是null。

您一定在某个地方做错了什么-当
name
为null时,JAXB根本不会封送元素。您的字段必须包含空字符串,而不是空字符串。是的,谢谢。你是对的,我错过了。