我使用JAXB创建XML消息。我需要创建的XML是(为简单起见):
<request>
<header/>
</request>
我的代码看起来像这样:
import javax.xml.bind.annotation.*;
@XmlRootElement(name = "request")
public class Request {
private String header;
@XmlElement(required=true)
public String getHeader() {
return header;
}
public void setHeader(String header) {
this.header=header;
}
}
问题:元素header
没有显示出来(header是null
)。当header设置为空字符串时,将显示以下内容:
问题:元素header
没有显示出来(header是null
)。当header设置为空字符串时,将显示以下内容:
<request>
<header></header>
</request>
当我使用类型为Object
而不是String
时,结果会更糟:
<request>
<header xsi:type="xs:string"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"></header>
</request>
顺便提一下:我正在使用这个代码来创建XML字符串。
是否可能获得一个空标签?
@XmlNullPolicy
。在这里看一个例子(在“Option #2”部分)。 - informatik01