繁体   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