最近用到了schema验证xml文件,搜了一下资料,整理在下面。
国内的资料比较少,我主要参考了国外的两篇文章http://www.ibm.com/developerworks/xml/library/x-javaxmlvalidapi/index.html和
http://tutorials.jenkov.com/java-xml/dom-schema-validation.html。
上代码:
import java.io.File;
import javax.xml.transform.stream.StreamSource;//StreamSource
import javax.xml.*;//XMLConstants
import javax.xml.validation.*;//XMLConstants,Validator
public class shemaTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Schema schema=null;
try {
String language = XMLConstants.W3C_XML_SCHEMA_NS_URI;
SchemaFactory factory = SchemaFactory.newInstance(language);
schema = factory.newSchema(new File("Schema.xml"));//Schema.xml改成您的schema文件名 后缀可以为xsd
Validator validator=schema.newValidator();
validator.validate(new StreamSource("patterns.xml"));//patterns.xml改为您要验证的xml文件名
} catch (Exception e) {
// TODO: handle exception
System.out.println(e.getMessage());
}
}
}运行一下就OK了,有问题可以在下面留言。这个方法和dom解析方法无关