2012-09-04 2 views
3

JaXB를 사용하여 xml 문서의 유효성을 검사하고 싶습니다.JaXB를 사용하여 가장 간단한 검증

코드 :

SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); 
Schema schema = factory.newSchema(new StreamSource(new File("D:/liferay-develop/workspace/cat_test/v2/STD_MP.xsd"))); 
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller(); 
jaxbUnmarshaller.setSchema(schema); 

는 지금은 문서가 스키마에 valide하지 않을 경우 오류가 발생하고 싶다. 예제에서 사람들이 이것을 위해 EventHandler 클래스를 생성하는 것을 볼 수 있습니다 (예 : http://blog.bdoughan.com/2010/12/jaxb-and-marshalunmarshal-schema.html). 하지만 아마도 변수와 변수에서 유효성 검사 오류를 얻는 가장 간단한 방법이 있을까요?

답변

4

ValidationEventHandler 접근법은 유효성 검사 이벤트를 처리하는 방법입니다. 쓸 코드의 양을 최소화하려는 경우 다음과 같이 할 수 있습니다.

jaxbUnmarshaller.setEventHandler(new ValidationEventHandler() { 

     @Override 
     public boolean handleEvent(ValidationEvent event) { 
      System.out.println(event.getMessage()); 
      return true; 
     } 

    }); 
+1

감사합니다. –

관련 문제