zoukankan      html  css  js  c++  java
  • How to create XML validator(验证器;验证程序) from XML schema

    In order to check XML data for validity we have to prepare its schema XSD-file. This file will be loaded by a JAXP package to a Schema objects instance. Then we'll use Schema to produce Validator which can then be used to validate any document with type defined in outr schema.

    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;
    
    /**
     * A sample application which shows how to perform a XML document validation.
     */
    
    public class Test {
        public static void main(String[] args) {
            try {
                // define the type of schema - we use W3C:
                String schemaLang = "http://www.w3.org/2001/XMLSchema";
    
                // get validation driver:
                SchemaFactory factory = SchemaFactory.newInstance(schemaLang);
    
                // create schema by reading it from an XSD file:
                Schema schema = factory.newSchema(new StreamSource("contacts.xsd"));
                Validator validator = schema.newValidator();
    
                // at last perform validation:
                validator.validate(new StreamSource("contacts.xml"));
    
            } catch (SAXException ex) {
                // we are here if the document is not valid:
                System.out.println(ex.getMessage());
                // ... process validation error...
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
    }
  • 相关阅读:
    java学习day16--常用类之包装类
    String、StringBuffer、StringBuilder的异同
    java学习day15--常用类之字符串相关的类
    java学习day15--Arrays工具类
    java学习day14--二维数组
    java学习day14--可变长参数
    java学习day13--数组
    java学习day13--自定义异常类
    java学习day12--异常
    接口和抽象类的异同
  • 原文地址:https://www.cnblogs.com/ghgyj/p/4020842.html
Copyright © 2011-2022 走看看