XJC(2)Validate the XML with XSD

本文介绍了一种使用Java进行XML文件验证的方法,通过XSD模式确保XML文件的有效性。文章详细展示了如何创建验证器、处理错误,并提供了一个具体的PrintErrorHandler类来捕获并打印验证过程中的警告和错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

XJC(2)Validate the XML with XSD

1. The Validation Related codes
// 1. Lookup a factory for the W3C XML Schema language
SchemaFactory schemaFactory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");
// 2. Compile the schema.
File schemaLocation = new File("src/generated/expense.xsd");
Schema schema = schemaFactory.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(new StringReader(xml));
// 5. Check the document
try {
validator.validate(source);
System.out.println("XML is valid.");
} catch (SAXException e) {
System.out.println("XML is not valid because ");
System.out.println(e.getMessage());
}

2. Error Handler
try {
ErrorHandler errorHandler = new PrintErrorHandler();
validator.setErrorHandler(errorHandler);
validator.validate(source);
System.out.println("XML is valid.");
} catch (SAXException e) {
System.out.println("XML is not valid.");
//System.out.println(e.getMessage());
return ;
}

A handler class will handle the error action, PrintErrorHandler.java.
package generated;

import org.xml.sax.ErrorHandler;
import org.xml.sax.SAXParseException;

public class PrintErrorHandler implements ErrorHandler {

public void warning(SAXParseException ex) {
System.err.println("warning");
}

public void error(SAXParseException ex) {
System.err.println("error");
}

public void fatalError(SAXParseException ex){
System.err.println("fatal");
}

}

references:
http://www.ibm.com/developerworks/xml/library/x-javaxmlvalidapi/index.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值