Jaxb 相当于EclipseLink MOXy中@XmlPath中的@xmlement.required
如何在2.4.1版本中使用Jaxb 相当于EclipseLink MOXy中@XmlPath中的@xmlement.required,jaxb,eclipselink,moxy,Jaxb,Eclipselink,Moxy,如何在2.4.1版本中使用@XmlPath注释实现@xmlement.required标记?您可以使用@xmlement(required=true)和@XmlPath注释来指定叶元素是必需的 客户 下面是一个示例域模型,其中两个字段映射为@XmlPath,其中一个字段上我也使用了@xmlement(required=true) 用于UM13854920的包; 导入javax.xml.bind.annotation.*; 导入org.eclipse.persistence.oxm.annotat
@XmlPath
注释实现@xmlement.required
标记?您可以使用@xmlement(required=true)
和@XmlPath
注释来指定叶元素是必需的
客户
下面是一个示例域模型,其中两个字段映射为@XmlPath
,其中一个字段上我也使用了@xmlement(required=true)
用于UM13854920的包;
导入javax.xml.bind.annotation.*;
导入org.eclipse.persistence.oxm.annotations.XmlPath;
@XmlAccessorType(XmlAccessType.FIELD)
公共类客户{
@XmlPath(“个人信息/名字/文本()”)
私有字符串名;
@XmlPath(“个人信息/姓氏/文本()”)
@XmlElement(必需=true)
私有字符串lastName;
}
jaxb.properties
要使用MOXy作为JAXB提供程序,您需要在与域模型相同的包中包含一个名为JAXB.properties
的文件,其中包含以下条目:
javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
XML模式
下面是与域模型对应的XML模式。注意last name
元素如何没有minOccurs=“0”
演示
以下演示代码可用于生成XML模式
用于UM13854920的包;
导入java.io.IOException;
导入javax.xml.bind.*;
导入javax.xml.transform.Result;
导入javax.xml.transform.stream.StreamResult;
公开课演示{
公共静态void main(字符串[]args)引发异常{
JAXBContext jc=JAXBContext.newInstance(Customer.class);
jc.generateSchema(新的SchemaOutputResolver(){
@凌驾
公共结果createOutput(字符串namespaceURI、字符串suggestedFileName)引发IOException{
StreamResult结果=新的StreamResult(System.out);
result.setSystemId(建议的文件名);
返回结果;
}
});
}
}
对于路径的其他段,当前在
@xmlement
注释上没有与required
属性等效的属性。如果您对此行为感兴趣,请使用以下链接输入增强请求: