Introduction
Verify whether the file format is correct through schema.
package shuai.study.validator;import java.io.File;import java.io.IOException;import java.net.URL;import javax.xml.transform.Source;import javax.xml.transform.stream.StreamSource;import javax.xml.validation.Schema;import javax.xml.validation.SchemaFactory;import javax.xml.validation.Validator;import org.xml.sax.SAXException;public class FormatValidator {public static boolean isFormatValid(URL urlSchema, Source source) {boolean validatorFlag = true;SchemaFactory schemaFactory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");try {Schema schema = schemaFactory.newSchema(urlSchema);Validator validator = schema.newValidator();validator.validate(source);} catch (SAXException se) {validatorFlag = false;se.printStackTrace();} catch (IOException ioe) {validatorFlag = false;ioe.printStackTrace();}return validatorFlag;}public static void main(String[] args) {URL urlSchema = FormatValidator.class.getResource("/schema/TestFileFormat.xsd");String sourceFileString = FormatValidator.class.getResource("/xml/TestSourceFile.xml").getPath();Source source = new StreamSource(new File(sourceFileString));boolean validatorFlag = FormatValidator.isFormatValid(urlSchema, source);if (validatorFlag) {System.out.println("Analyze " + source.getSystemId() + " successfully");} else {System.out.println("Fail to analyze " + source.getSystemId());}}}