升级到MsXml6.dll
我在将应用程序的 Microsoft XML 核心从 msxml3.dll 升级到 msxml6.dll 时遇到问题。我更改了 vcproj 和我的头文件以指向 msxml6 头文件和库文件。我还更改了 msxml6 的类 ID,以使用 CoCreateVariant() 函数创建文档普拉瑟。
在执行过程中,我发现我的应用程序抛出无异常处理并中止。然后我用 Visual Studio 进行调试,发现 getElementByTagName() 函数在使用 msxml6.dll 库时返回一个空指针,这反过来进一步引用导致中止,并且它与 msxml3.dll 一起工作正常。
有谁知道为什么会出现由于 msxml6.dll 导致的“未处理的异常”?我该如何解决它?
I had a problem in upgrading the Microsoft XML core for my application from msxml3.dll to msxml6.dll. I chnaged the vcproj, and the header file of mine to point to the msxml6 header and library file. I also changed the class id of msxml6 to create a document praser using CoCreateVariant() function.
During execution i found my application throws unexception handling and aborts. Then i debugged with Visual studio and found that getElementByTagName() function returns a null pointer while using the msxml6.dll library which in-turn further reference cause abort and it's working fine with msxml3.dll.
Is anyone know why this "unhandled exception" was there due to msxml6.dll? And How can i fix it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以仔细检查该元素是否具有名称空间吗?这可能是因为 MSXML3 和 MSXML6 之间的行为发生变化,其中 MSXML6 在命名空间方面更加兼容。要解决此问题,您可能需要使用 XPath。
Can you double check if the element has namespace? Probably this is because of the behavioral changes between MSXML3 and MSXML6 where MSXML6 is more compliant in terms of namespace. To fix this issue, you may want to use XPath instead.