使用jaxb中的xsd进行xml验证

问题描述 投票:1回答:1

我有一个xml。我为xml创建了一个XSD。

我想写一个程序来验证xml对xsd。我写了一个程序,并设置了个别值。

但有没有办法,我可以将xml文件作为输入,并可以查看xml是否对XSD有效?

谢谢,妮妮

xml-parsing
1个回答
3
投票

这是使用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;
}
© www.soinside.com 2019 - 2024. All rights reserved.