9

jaxbを使用して作成されたxmlファイルがあります。xsdドキュメントに対して検証する必要があります。マーシャリングを解除せずに検証を行うことは可能ですか?次に、xmlファイルにエラーを出力する必要があります。

4

1 に答える 1

12

はい、1.5以降のJavaにあるバリデーターを使用できます。これがリファレンスドキュメントです

それとは別に、domベースまたはストリームベースのAPIを使用して、XMLドキュメントをxsdファイルに対して検証できます。タスクにSAXAPIを使用したい場合は、次の例を聞いてください。

try {
    String schemaLang = "http://www.w3.org/2001/XMLSchema";

    SchemaFactory factory = SchemaFactory.newInstance(schemaLang);

    Schema schema = factory.newSchema(new StreamSource("sample.xsd"));
    Validator validator = schema.newValidator();

    validator.validate(new StreamSource("test.xml"));

} catch (SAXException e) {
    System.out.println(" sax exception :" + e.getMessage());
} catch (Exception ex) {
    System.out.println("excep :" + ex.getMessage());
}

それ以外の場合は、DOM、DOM4J、またはXOMAPIを使用できます。詳細については、こちらをご覧ください

stackoverflowにも関連する答えがあります。

于 2012-06-08T12:37:48.640 に答える