如何使用jaxb从xsd生成java代码,而不允许用户使用xml属性

如何使用jaxb从xsd生成java代码,而不允许用户使用xml属性,jaxb,Jaxb,我正在使用JAXB从xsd生成java代码 我想生成不能在xml中使用的属性Java代码 例如: <xs:complexType name="Button"> <xs:attribute type="xs:string" name="ribbonGroup"> </xs:complexType> 我想在Button java类中查看属性ribbonGroup的getter和setter,但我不想让用户选择在xml中查看

我正在使用JAXB从xsd生成java代码

我想生成不能在xml中使用的属性Java代码

例如:

<xs:complexType name="Button">
   <xs:attribute type="xs:string"
                 name="ribbonGroup">
</xs:complexType>
我想在Button java类中查看属性ribbonGroup的getter和setter,但我不想让用户选择在xml中查看该属性

多谢各位

我想见识见识见识见识 中的属性ribbonGroup 按钮java类

您希望为ribbonGroup生成get/set方法。这意味着您不应该使用=禁止来阻止XJC生成

但我不想让用户 选项以在中查看此属性 xml

您的意思是不希望在读取XML时加载ribbonGroup属性,或者在写入XML时保存该属性,对吗?如果是,则使用@XmlTransient注释防止将字段/属性封送到XML


最终,我相信您希望JAXB XJC工具生成此注释?这是否正确?

当XML的值为null或空时,不要设置它的值;它不会创建标记


我认为Jaxb并没有创建一个complexType设置器。我在我的项目中创建了我自己,我希望根据XSD编写XML的用户不能使用ribbonGroup属性。但是,我希望从XSD生成java代码的JAXB将生成Button类的getter和setter,因为我想在代码中使用它。JAXB将为ribbonGroup生成get/set。如果属性是标记为@XmlTransient的,则该属性仍将存在,但在解组期间不会填充该属性,也不会在编组时生成XML属性。从XDS写入XML的用户是否会看到该属性?有一个属性称为:use=banford,这将允许用户使用ribbonGroup属性,但JAXB不会为Button类生成该属性getter和setter。尽管使用了use=probited,我是否可以让JAXB生成该属性?