Bonjour tout le monde,

Voilà je suis occupé sur un projet. En gros, mon application est faite en C++ et j'utilise jusqu'ici Xerces-C pour manipuler mon XML via C++.

Ca va certainement vous paraître con, mais je ne parviens pas à utiliser la méthode "getElementById" de Xerces-C DOM.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
    try {
                parser->parse("personal.xml");
 
		DOMDocument* xmlDoc = parser->getDocument();
		DOMElement* root = xmlDoc->getDocumentElement();
 
		DOMElement* first = xmlDoc->getElementById(XMLString::transcode("blank_page_detection"));
		cout << first->getAttribute(XMLString::transcode("type"));
 
    }
    catch (const XMLException& toCatch) {
        char* message = XMLString::transcode(toCatch.getMessage());
        cout << "Exception message is: \n"
             << message << "\n";
        XMLString::release(&message);
        //return -1;
    }
Ceci me génère la wonderful error suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Unhandled exception at 0x00411bd9 in test.exe: 0xC0000005: Access violation reading location 0x00000000.
Si j'ai bien compris ce que j'ai lu sur le net concernant cette erreur, il s'agit d'une erreur lorsqu'un pointer pointe vers une resource vide/nulle...

comment puis-je régler ça?

DOM est tellement plus simple en Java ou en JavaScript... malheureusement je dois rester en C++.

Please help.

Thanks,

Olivier