相关疑难解决方法(0)

如何使用JAXB实例化一个空元素

我使用JAXB来创建XML消息.我需要创建的XML(为了简单起见):

<request>
  <header/>
</request>
Run Code Online (Sandbox Code Playgroud)

我的代码看起来像这样:

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;
    }
}
Run Code Online (Sandbox Code Playgroud)

问题:header元素未显示(标题为null).当标头设置为空字符串时,将显示以下内容:

<request>
  <header></header>
</request>
Run Code Online (Sandbox Code Playgroud)

当我用作类型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>
Run Code Online (Sandbox Code Playgroud)

BTW:我正在使用此代码来创建XML字符串.

是否有可能得到一个空标签?

java xml jaxb

9
推荐指数
2
解决办法
2万
查看次数

标签 统计

java ×1

jaxb ×1

xml ×1