J'ai rencontré un problème lors de la mise à niveau du noyau Microsoft XML pour mon application de msxml3.dll à msxml6.dll. J'ai chnaged le vcproj, et le dossier d'en-tête de moi pour pointer vers l'en-tête et le fichier de bibliothèque de msxml6. J'ai également changé l'identifiant de classe de msxml6 pour créer un document praser en utilisant la fonction CoCreateVariant().Mise à niveau vers MsXml6.dll
Au cours de l'exécution, j'ai trouvé que mon application rejetait la gestion sans exception et abandonne. Ensuite, j'ai débogué avec Visual Studio et j'ai découvert que la fonction getElementByTagName() renvoyait un pointeur NULL en utilisant la bibliothèque msxml6.dll, ce qui à son tour provoquait une interruption du fonctionnement et fonctionnait correctement avec msxml3.dll.
Quelqu'un sait-il pourquoi cette "exception non gérée" était là en raison de msxml6.dll? Et comment puis-je le réparer?
Merci Samuel. Oui, vous avez raison de mettre à jour msxml3.dll en msxml6.dll. L'appplication que j'ai eu est complètement écrite en C++. Comme il y avait plus de fuite de mémoire que je trouve dans msxml3.dll, je me sens mieux de mettre à jour vers msxml6.dll. Pourriez-vous expliquer comment utiliser Xpath pour corriger cette erreur? – Santhosh77
XPath prend en compte l'espace de noms de sorte que vous pouvez utiliser selectSingleNode et selectNodes pour obtenir les nœuds souhaités. Vous pouvez rechercher MSDN pour une documentation détaillée. –