2

私は JAXB 2.2.7 を使用して XML ファイルからデータを取得します。問題は、XML ファイルに予期しない要素があるかどうかを確認する必要があることですが、JAXB は気にせず、エラーなしで完全に動作します。

例 :

    <classe> 
  <detail>
        <knowElementFromXSD>value</knowElementFromXSD>
        <unknowElementFromXSD>OtherValue</unknowElementFromXSD>
  </detail>
</classe>

たとえば、XSD で定義されていないため、この XML ファイルでエラーをスローするには JAXB が必要です。

誰かがアイデアを持っていれば、インターネット上で解決策を見つけることができません。

4

1 に答える 1

3

ユースケースを実現するには、いくつかの方法があります。

オプション1 -ValidationEventHandler

ValidationEventHandlerUnmarshaller に を設定して、予期しない要素などを通知することができます。デフォルトでは、JAXB (JSR-222) 実装はマップされていない要素を無視します。

オプション #2 - スキーマの検証

のインスタンスを設定するjavax.xml.validation.SchemaUnmarshaller、XML 入力は非整列化されるため検証されます。

于 2012-10-30T17:05:16.723 に答える