Hi,

I am using VS 2005 and trying to implement the Xerces-C++ parser.
Everything is linked and compiles ok - I am using the example supplied (below).
When I run it I get a runtime unhandled error exception and the program terminates. This happens on the line parse->parse(xmlFile).

Anyone sucessfully used this? Any help would be appreciated.

Thanks

Mike

Code:
#include <xercesc/parsers/SAXParser.hpp>
    #include <xercesc/sax/HandlerBase.hpp>
    #include <xercesc/util/XMLString.hpp>

    #include <iostream>

    using namespace std;
    using namespace xercesc;

    int main (int argc, char* args[]) {

        try {
            XMLPlatformUtils::Initialize();
        }
        catch (const XMLException& toCatch) {
            char* message = XMLString::transcode(toCatch.getMessage());
            cout << "Error during initialization! :\n"
                 << message << "\n";
            XMLString::release(&message);
            return 1;
        }

        char* xmlFile = "x1.xml";
        SAXParser* parser = new SAXParser();
        parser->setDoValidation(true);
        parser->setDoNamespaces(true);    // optional

        DocumentHandler* docHandler = new HandlerBase();
        ErrorHandler* errHandler = (ErrorHandler*) docHandler;
        parser->setDocumentHandler(docHandler);
        parser->setErrorHandler(errHandler);

        try {
            parser->parse(xmlFile);
        }
        catch (const XMLException& toCatch) {
            char* message = XMLString::transcode(toCatch.getMessage());
            cout << "Exception message is: \n"
                 << message << "\n";
            XMLString::release(&message);
            return -1;
        }
        catch (const SAXParseException& toCatch) {
            char* message = XMLString::transcode(toCatch.getMessage());
            cout << "Exception message is: \n"
                 << message << "\n";
            XMLString::release(&message);
            return -1;
        }
        catch (...) {
            cout << "Unexpected Exception \n" ;
            return -1;
        }

        delete parser;
        delete docHandler;
        return 0;
    }