我有一个xml。我为xml创建了一个XSD。
我想写一个程序来验证xml对xsd。我写了一个程序,并设置了个别值。
但有没有办法,我可以将xml文件作为输入,并可以查看xml是否对XSD有效?
谢谢,妮妮
这是使用XSD进行xml验证的示例。
public static boolean validate() {
Source xmlFile = null;
File schemaFile;
SchemaFactory schemaFactory;
Schema schema;
try {
schemaFile = new File(xsdFileName);
xmlFile = new StreamSource(new File(xmlFileName));
schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
schema = schemaFactory.newSchema(schemaFile);
Validator validator = schema.newValidator();
validator.validate(xmlFile);
System.out.println(xmlFile.getSystemId() + " is valid");
} catch (SAXException | IOException e) {
System.out.println(xmlFile.getSystemId() + " is NOT valid");
System.out.println("Reason: " + e.getLocalizedMessage());
return false;
}
return true;
}