[C++] Utilisation de msxml DOM

Utilisation de msxml DOM [C++] - C++ - Programmation

Marsh Posté le 10-10-2003 à 15:04:17    

Salut,
je suis en train d'utiliser XML DOM en C++, et j'ai quelques soucis : notamment le fait qu'à chaque fois que je veux utiliser une  string, il faut caster avec (OLECHAR*) sinon le compilo  veut pas...
 
pXMLDoc->selectSingleNode("//people[@id=2]", &pXDN)
 
no matching function for call to `IXMLDOMDocument::selectSingleNode(const
   char[16], IXMLDOMNode**)'
 
candidates are: virtual HRESULT IXMLDOMNode::selectSingleNode(OLECHAR*, IXMLDOMNode**)
 
si on met ça, ça passe
pXMLDoc->selectSingleNode((OLECHAR*)"//people[@id=2]", &pXDN)
 
pareil pour NULL, on est obligé de mettre (VARIANT_BOOL*)NULL dans la méthide loadXML()
Il n'y a pas un moyen pour éviter ça ?
 
de plus je n'arrive pas à utiliser selectSingleNode, il me renvoie toujours null, il ne trouve pas ce que je lui demande, je ne comprends pas, j'ai bien loadé le fichier après avoir créé l'objet IXMLDomDocument...
il me manque quelquechose à faire après avoir loadé le doc ?
j'ai pas compris dans un exemple à quoi servait le queryinterface pour IXMLDomNode, peut être que c'est ça mais j'ai essayé et ça change rien...
merci
 ANT


Message édité par antsite le 10-10-2003 à 15:08:08
Reply

Marsh Posté le 10-10-2003 à 15:04:17   

Reply

Marsh Posté le 10-10-2003 à 16:31:19    

msxml bosse qu'en unicode, donc utilise L pour transformer ta chaîne char* en wchar* :
 
pXMLDoc->selectSingleNode(L"//people[@id=2]", &pXDN)
 
Ton VARIANT_BOOL a l'air bien étrange ... quel est le proto de loadXML() ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed