簡體   English   中英

如何在生成的JAXB類中構造XSD以使其具有原始包裝而不是原始類型?

[英]How can I construct XSD to have primitive wrapper instead of primitive type in generated JAXB class?

我的XSD中具有以下屬性:

<xs:attribute name="fromFraction" type="xs:float" use="optional" default="0.0"/>

我從此XSD生成類,並且將屬性創建為float ,然后如果沒有此類中的該屬性,就無法編組XML(據我所知,在這種情況下,它將始終具有將被編組的某些值)。

如何在綁定期間更改XSD以創建Float類型 ,以便在此字段中可以使用null(以便在編組期間將其省略)?

或者,也許有更好的方法從不存在的XML中刪除此屬性?

據此: http : //reast.net/2009/08/jaxb-generating-primitive-type-getters/及其參考: http : //docs.oracle.com/cd/E17802_01/webservices/webservices/docs/ 1.5 / JAXB / vendorCustomizations.html#序列化

您應該將此添加到您的XSD:

<xs:annotation>
   <xs:appinfo>
      <jaxb:globalBindings>
          <xjc:serializable uid="12343"/>
      </jaxb:globalBindings>
   </xs:appinfo>
</xs:annotation>

我在binding.xjb文件中有以下代碼,我曾經用來生成類:

<jxb:globalBindings optionalProperty="primitive"/>

當我刪除它時,生成的類包含適當的原始包裝器,正如我想要的那樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM