JAVA & Web
xml 파일 validate
스마트큐브
2020. 7. 24. 15:14
정보 집중관련으로 xml 파일을 이용하게 됐는데 XSD 파일을 이용해서 validation 하는걸 첨해봐서
기록해둔다 .
정말 간단하게도 요거면 끝
첫번째 인자에 xsd 에 해당하는 xml 파일 경로 넣어주고 2번째 검증하고자 하는 xml 파일 넣어주고 실행하면 끝!
public class XSDValidator {
public static void main(String[] args) {
if(args.length !=2){
System.out.println("Usage : XSDValidator <file-name.xsd> <file-name.xml>" );
} else {
boolean isValid = validateXMLSchema(args[0],args[1]);
if(isValid){
System.out.println(args[1] + " is valid against " + args[0]);
} else {
System.out.println(args[1] + " is not valid against " + args[0]);
}
}
}
public static boolean validateXMLSchema(String xsdPath, String xmlPath){
try {
SchemaFactory factory =
SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = factory.newSchema(new File(xsdPath));
Validator validator = schema.newValidator();
validator.validate(new StreamSource(new File(xmlPath)));
} catch (IOException e){
System.out.println("Exception: "+e.getMessage());
return false;
}catch(SAXException e1){
e1.printStackTrace();
System.out.println("SAX Exception: "+e1.getMessage());
return false;
}
return true;
}
}