我想在Xerces-C(版本2.8,在Linux下)加载XML文档,并使用未从文档引用的DTD模式对其进行验证.我尝试了以下方法:
XercesDOMParser parser;
parser.loadGrammar("grammar.dtd", Grammar::DTDGrammarType);
parser.setValidationScheme(XercesDOMParser::Val_Always);
parser.parse("xmlfile.xml");
但如果文档无效,则不表示错误.我错过了什么?
解决方法:
如果你想看到任何东西,你需要在调用解析之前使用set an error handler:
Handler handler;
parser.setErrorHandler( &handler );
Handler是一个派生自ErrorHandler的类