java 實現的XML schema 驗證(轉)
java 實現的XML schema 驗證(轉)[@more@]最近對Schema 驗證研究了一下, 程式碼如下:
所需JAR包需要自己下載(版本一定要正確)
public class SchemaValidation {
public static void main(String[] args) {
validate();
}
public static void validate() {
try {
SchemaValidation demo = new SchemaValidation();
// Give the xml and schema name
InputStream xmlString = demo.getClass().getResourceAsStream("GBAInit.xml");
InputStream schemaStr = demo.getClass().getResourceAsStream("GBAInitSchema.xsd");
SAXReader reader = createSAXReader(schemaStr);
System.out.println("XSD parse successfully !");
Document document = reader.read(xmlString);
System.out.println("Successfully validation .. . ");
} catch (DocumentException e) {
System.out.println("Exception occurred: " + e);
Throwable nestedException = e.getNestedException();
if (nestedException != null) {
System.out.println("NestedException: " + nestedException);
nestedException.printStackTrace();
} else {
e.printStackTrace();
}
} catch (Throwable t) {
System.out.println("Exception occurred: " + t);
t.printStackTrace();
}
}
/** Registers the Verifier with the SAXReader */
protected SAXReader createSAXReader(InputStream schemaURI) throws Exception {
System.out.println("Loaded schema document: " + schemaURI);
// use autodetection of schemas
VerifierFactory factory = new com.sun.msv.verifier.jarv.TheFactoryImpl();
Schema schema = factory.compileSchema(schemaURI);
Verifier verifier = schema.newVerifier();
verifier.setErrorHandler(new ErrorHandler() {
public void error(SAXParseException e) {
System.out.println("ERROR: " + e);
}
public void fatalError(SAXParseException e) {
System.out.println("FATAL: " + e);
}
public void warning(SAXParseException e) {
System.out.println("WARNING: " + e);
}
});
// now install the verifying filter
VerifierFilter filter = verifier.getVerifierFilter();
SAXReader reader = new SAXReader();
reader.setXMLFilter(filter);
return reader;
}
}
所需JAR包需要自己下載(版本一定要正確)
public class SchemaValidation {
public static void main(String[] args) {
validate();
}
public static void validate() {
try {
SchemaValidation demo = new SchemaValidation();
// Give the xml and schema name
InputStream xmlString = demo.getClass().getResourceAsStream("GBAInit.xml");
InputStream schemaStr = demo.getClass().getResourceAsStream("GBAInitSchema.xsd");
SAXReader reader = createSAXReader(schemaStr);
System.out.println("XSD parse successfully !");
Document document = reader.read(xmlString);
System.out.println("Successfully validation .. . ");
} catch (DocumentException e) {
System.out.println("Exception occurred: " + e);
Throwable nestedException = e.getNestedException();
if (nestedException != null) {
System.out.println("NestedException: " + nestedException);
nestedException.printStackTrace();
} else {
e.printStackTrace();
}
} catch (Throwable t) {
System.out.println("Exception occurred: " + t);
t.printStackTrace();
}
}
/** Registers the Verifier with the SAXReader */
protected SAXReader createSAXReader(InputStream schemaURI) throws Exception {
System.out.println("Loaded schema document: " + schemaURI);
// use autodetection of schemas
VerifierFactory factory = new com.sun.msv.verifier.jarv.TheFactoryImpl();
Schema schema = factory.compileSchema(schemaURI);
Verifier verifier = schema.newVerifier();
verifier.setErrorHandler(new ErrorHandler() {
public void error(SAXParseException e) {
System.out.println("ERROR: " + e);
}
public void fatalError(SAXParseException e) {
System.out.println("FATAL: " + e);
}
public void warning(SAXParseException e) {
System.out.println("WARNING: " + e);
}
});
// now install the verifying filter
VerifierFilter filter = verifier.getVerifierFilter();
SAXReader reader = new SAXReader();
reader.setXMLFilter(filter);
return reader;
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-963580/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java通過schema校驗xmlJavaXML
- java實現驗證碼Java
- java圖形驗證碼實現Java
- XML簡明教程(6)什麼是XML Schema(轉)XML
- Java實現郵箱驗證碼功能Java
- java實現動態驗證碼原始碼——繪製驗證碼的jspJava原始碼JS
- JSON Schema與表單驗證JSON
- 【總結】Java實現簡訊驗證碼Java
- Python實現簡單驗證碼的轉文字Python
- 利用Dll實現通用密碼驗證框 (轉)密碼
- 自定義基於XML的驗證器XML
- Django實現驗證碼Django
- rails實現驗證碼AI
- 使用GraphQL對資料模型和訊息格式實現類似XML的DTD驗證模型XML
- java實現手機簡訊驗證全過程Java
- Ext實現的身份證格式驗證程式碼
- 使用正規表示式進行xml資料驗證(轉)XML
- js實現身份證號碼驗證JS
- PHP算式驗證碼和漢字驗證碼的實現方法PHP
- xml schema 中elementFormDefault 的用法簡介XMLORM
- XML Schema和XML DTD的資料型別比較XML資料型別
- web動態驗證碼的實現Web
- 驗證碼的原理、作用及實現
- 實現動態驗證碼的思路
- Python Schema一種優雅的資料驗證方式Python
- javascript實現的身份證號碼驗證程式碼JavaScript
- XML - Schema之基礎示例XML
- php陣列轉xml的遞迴實現PHP陣列XML遞迴
- 簡訊驗證實現方式
- canvas實現滑動驗證Canvas
- Swift實現Touch ID驗證Swift
- lumen驗證類 實現控制器場景驗證
- 基於XML的購物車的實現(轉)XML
- Java Web(四) 一次性驗證碼的程式碼實現JavaWeb
- js實現的身份證合法性驗證程式碼JS
- Laravel 驗證類 實現 路由場景驗證 和 控制器場景驗證Laravel路由
- node實現基於token的身份驗證
- 實現elementUI表單的全域性驗證UI