欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

xml验证(二)

程序员文章站 2022-07-14 08:56:15
...
接着xml验证(一)

以下是一个xml形式的数据:
<?xml version="1.0" encoding="utf-8"?>  
<student>  
   <sNo>071842</sNo>  
   <name>Tom</name>  
   <age>25</age>  
   <country>China</country>  
   <interest>football</interest>  
</student>  


那我们该怎么验证这个xml符合规定呢?
下面看一段Java代码:
   /**
     * 验证请求中的消息体是否为xml类型
     * @param xsdFileName xsd流
      * @param xmlSource xml流
      * @param url url
     * @return boolean
     */
    public static boolean validateXmlByXsd(InputStream xsdFileName, InputStream xmlSource)
    {
        SchemaFactory schemaFactory = SchemaFactory.newInstance(“http://www.w3.org/2001/XMLSchema”);
        try
        {
            String uriString = url.toURI().toString();
            Schema schema = schemaFactory.newSchema(new StreamSource(xsdFileName, uriString));
            Validator validator = schema.newValidator();
            validator.validate(xmlSource);
            return true;
        }
        catch (Exception e)
        {
            e.getMessage();
        }
        return false;
    }


上面为验证xml的验证方法。
把xml和xsd分别作为文件输入流传入,就可以知道此xml文件是否符合此xsd了。