我的java类:
@XmlRootElement(name = "root")
public class Root {
    @XmlElement(name = "name")
    protected String name;
}当name为空时生成的结果为
<root>
</root>
我怎样过才能生成
<root>
  <name/>
</root>这样的结果??

解决方案 »

  1.   

    要怎么加?
    我现在的是这样:
    @XmlType(name = "", propOrder = {
        "name"
    })
      

  2.   

    如果需要做成:<root>
      <name></name>
    </root>JavaBean需要写成:@XmlRootElement(name = "root")
    public class Root {
      @XmlElement(name = "name", required = true)
      protected String name;
    }
      

  3.   

    相应的XML描述应该写成:<xsd:complexType name="root">
        <xsd:sequence>
          <xsd:element name="name" type="xsd:string"/>  
        </xsd:sequence>
    </xsd:complexType>不能写成:<xsd:complexType name="root">
        <xsd:sequence>
          <xsd:element name="name" type="xsd:string" minOccurs="0"/>  
        </xsd:sequence>
    </xsd:complexType>
      

  4.   

    多谢darxin ,我是这样写的,但是生成xml的时候,如果name为null,jaxb就会忽略这个element
      

  5.   

    我跟你遇到的情况一样,我是这么解决的
    在你的属性上protected String name="";,初始化的时候就给一个BLANK初值我起初以为required=true能够解决,实际上required=true是验证schema文件用的