2010-12-02 117 views
1

我在将我的应用程序的Microsoft XML核心从msxml3.dll升级到msxml6.dll时遇到问题。我chnaged vcproj和我的头文件指向msxml6头和库文件。我还更改了msxml6的类ID,以使用CoCreateVariant()函数创建文档浏览器。升级到MsXml6.dll

在执行过程中,我发现我的应用程序抛出了异常处理并中止。然后,我用Visual Studio进行调试,发现getElementByTagName()函数在使用msxml6.dll库时会返回一个空指针,这会导致中止进一步的引用,并且它与msxml3.dll一起工作正常。

有人知道为什么这个“未处理的异常”是由于msxml6.dll吗?我该如何解决它?

回答

0

你可以仔细检查元素是否有命名空间?可能这是因为MSXML3和MSXML6在命名空间方面更符合MSXML6之间的行为变化。要解决此问题,您可能需要使用XPath。

+0

谢谢塞缪尔。是的你是正确的我正在将msxml3.dll升级到msxml6.dll。我拥有的应用程序完全是用C++编写的。由于我在msxml3.dll中发现了更多的内存泄漏,我最好将其升级到msxml6.dll。你能否详细说明如何使用Xpath来修复这个错误? – Santhosh77 2010-12-03 03:59:18