介绍
通过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());
}
}
}

本文介绍了一种使用Java实现的XML文件格式验证方法。该方法利用Schema(XSD)文件定义XML结构,并通过Java API进行文件的有效性检查。文章提供了一个名为FormatValidator的类,该类包含静态方法isFormatValid,用于验证指定的XML文件是否符合预先定义的Schema。
846

被折叠的 条评论
为什么被折叠?



