我有一个xml。我为 xml 创建了一个 XSD。
我想编写一个 prog 来针对 xsd 验证 xml。我写了一个 prog 并设置了个人值。
但是有没有办法,我可以将 xml 文件作为输入,并可以查看 xml 是否对 XSD 有效?
谢谢,妮妮
我有一个xml。我为 xml 创建了一个 XSD。
我想编写一个 prog 来针对 xsd 验证 xml。我写了一个 prog 并设置了个人值。
但是有没有办法,我可以将 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;
}