代码之家  ›  专栏  ›  技术社区  ›  petersohn

XeCES C++中的文档验证

  •  0
  • petersohn  · 技术社区  · 14 年前

    我想在xerces-c++(linux下的版本2.8)中加载一个xml文档,并使用未从文档中引用的dtd模式验证它。我尝试了以下方法:

    XercesDOMParser parser;
    parser.loadGrammar("grammar.dtd", Grammar::DTDGrammarType);
    parser.setValidationScheme(XercesDOMParser::Val_Always);
    parser.parse("xmlfile.xml");
    

    但如果文档无效,则不表示有错误。我错过了什么?

    1 回复  |  直到 13 年前
        1
  •  2
  •   Eugen Constantin Dinca Chris Lohfink    14 年前

    你需要 set an error handler 如果要查看任何内容,请在调用parse之前:

    Handler handler;    
    parser.setErrorHandler( &handler );
    

    其中handler是派生自 ErrorHandler