2

アプリケーションの Microsoft XML コアを msxml3.dll から msxml6.dll にアップグレードする際に問題が発生しました。msxml6 ヘッダーとライブラリ ファイルを指すように、vcproj と私のヘッダー ファイルを変更しました。また、msxml6 のクラス ID を変更して、CoCreateVariant() 関数を使用してドキュメント praser を作成しました。

実行中に、アプリケーションが例外処理をスローして中止することがわかりました。次に、Visual Studio でデバッグしたところ、msxml6.dll ライブラリを使用しているときに getElementByTagName() 関数が null ポインタを返すことがわかりました。これにより、さらに参照が中止され、msxml3.dll で正常に動作しています。

msxml6.dllが原因でこの「未処理の例外」が発生した理由を知っている人はいますか? どうすれば修正できますか?

4

1 に答える 1

0

要素に名前空間があるかどうかを再確認できますか? おそらくこれは、MSXML3 と MSXML6 の間で動作が変更されたためであり、MSXML6 は名前空間に関してより準拠しています。この問題を解決するには、代わりに XPath を使用することをお勧めします。

于 2010-12-03T03:14:38.740 に答える