上一篇文章"XML Schema检验XML文档结构"中,简单介绍了XML Schema及其写法,这篇主要针对java开发者,在程序中检验XML的有效性。
由于程序中经常会对xml的validation进行检验,通过DOM解析再一项一项check的方式,陈旧而且写起来繁杂。本文介绍一种快速检验xml的方法,借助javax.xml.validation包下的Validator, Schema, SchemaFactory等类,通过传入XML Schema Definition(XSD)文件进行验证。
代码如下:
public static void main(String[] args) throws IOException, SAXException {
String xmlFile = "test.xml"
String xsdFile = "test.xsd"
// 1. Lookup a factory for the W3C XML Schema language
SchemaFactory factory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");
// 2. Compile the schema.
File schemaLocation = new File(xsdFile);
Schema schema = factory.newSchema(schemaLocation);
// 3. Get a validator from the schema.
Validator validator = schema.newValidator();
// 4. Parse the document you want to check.
Source source = new StreamSource(xmlFile);
// 5. Check the document
try {
validator.validate(source);
System.out.println(xmlFile + " is valid.");
} catch (SAXException ex) {
System.out.println(xmlFile + " is not valid because ");
System.out.println(ex.getMessage());
}
}
Validator的validate方法用于检验其正确性,如果不符合XSD描述,则会SAXException,并附带出错信息。
Hope it can relax your eyes : )
- 大小: 49.4 KB
分享到:
相关推荐
ava校验XML是件很扯淡的事情,... 下面不扯这些废话了,我用DOM4j结合javaxml api使用XSD来校验一个xml有效性,下面这个例子虽然和蹩脚,但是也费了一番功夫,放出来大家研究吧,有更好的实现也希望能和我一同分享。
XML Schema 教程 XML Schema 是基于 XML 的 DTD 替代者。 XML Schema 描述 XML 文档的结构。 XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。 在此教程中,你将学习如何在应用程序中读取和...
XML发展历史概述 XML文档组成元素 XML Schema组成元素 XML相关API
理解XML Schema XML Schema进阶
XmlSchema-1.1.jar XmlSchema-1.1.jar
标签:core、apache、xmlschema、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...
java中实现xmlschema验证文件借鉴.pdf
XML Schema 是基于 XML 的 DTD 替代者。 XML Schema 描述 XML 文档的结构。 XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。 在此教程中,你将学习如何在应用程序中读取和创建 XML ...
xmlschema-core-2.0.3.jar;xmlschema-core-2.0.3.jar;xmlschema-core-2.0.3.jar
XML文件XML Schema.docXML Schema.doc
好不容易找到的XmlSchema-1.4.7 jar包,需要的同学速度下载吧。不黑心,只要1分~~~
java根据xml生成schema_xsd_生成javabean
博文链接:https://sydxide2006.iteye.com/blog/127804
apache 的xmlschema jar包的api文档,用于解析xml schema
XmlSchema-1.4.6.jar 包,看着本站上的1.4.5分太贵,自己找了个1.4.6的,低分分享下
XmlSchema-1.2.jar,xmlschema-1.2.jar,xml.jar
cxf jar xmlschema-core-2.0.jar
XML Schema是以XML语言为基础的,它用于可替代DTD。 一份XML schema文件描述了XML文档的结构。 XML Schema语言也被称为XML Schema Definition (XSD)(XML Schema定义). --------------------------------------...
Schema相对于DTD的明显好处是XML Schema文档本身也是XML文档,而不是像DTD一样使用自成一体的语法。这就方便了用户和开发者,因为可以使用相同的工具来处理XML Schema和其他XML信息,而不必专门为Schema使用特殊工具...