簡體   English   中英

取消編組,xml到java,XSD中未定義的無效枚舉值被忽略

[英]Unmarshalling, xml to java, invalid enum values are getting ignored that are not defined in XSD

我的XSD文件僅定義5種類型:

<xs:simpleType name="Types">
        <xs:restriction base="xs:string">
            <xs:enumeration value="TypeA" />
            <xs:enumeration value="TypeB" />
            <xs:enumeration value="TypeC" />
            <xs:enumeration value="TypeD" />
            <xs:enumeration value="TypeE" />
        </xs:restriction>
    </xs:simpleType>

但是,假設某個用戶發送“ TypeF ”,這是不是有效的類型,然后unmarshalling ,使用JAXB,完全忽視了價值,我想驗證這個值和用戶發送錯誤請求異常。 我如何確定如果用戶在XML中輸入了無效的Type,它不會被忽略?

您可以在Unmarshaller上指定ValidationEventHandler的實例,並在handleEvent方法上返回false,以使JAXB無效值失敗。

暫無
暫無

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

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