如何使用msxml3.0
我刚刚开始学习使用msxml,我在微软网站那里下载了msxml3.0sdk,安装之后就建了一个工程,然后按照网友的例子练习,我在option中已经将sdk的inc目录和lib目录都分别加进include和library路径下了,我的代码如下:
void CTestXMLDoc::CreateDOMTree()
{
HRESULT hr;
IXMLDOMDocument * pXMLDoc = NULL;
hr=CoInitialize(NULL);//COM的初始化
//得到关于IXMLDOMDocument接口的指针pXMLDOC。
hr = CoCreateInstance(CLSID_DOMDocument2, NULL, CLSCTX_INPROC_SERVER,
IID_IXMLDOMDocument, (void**)&pXMLDoc);
}
我还在该cpp文件中声明了:
#include "msxml2.h"
#import "msxml3.dll"
编译之后发现出现以下问题
TestXMLDoc.obj : error LNK2001: unresolved external symbol _CLSID_DOMDocument2
TestXMLDoc.obj : error LNK2001: unresolved external symbol _IID_IXMLDOMDocument
Debug/TestXML.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.
Creating browse info file...
TestXML.exe - 3 error(s), 0 warning(s)
后来我看帮助发现还需要msxml2.idl文件,我就又把它声明了:
#import "msxml2.idl"
但是编译之后就出现了一下错误:
E:\CIMDemo\Src\TestXML\TestXMLDoc.cpp(10) : fatal error C1083: Cannot open type library file: 'msxml2.idl': 加载类型库/DLL 时出错。
Error executing cl.exe.
Creating browse info file...
BSCMAKE: error BK1506 : cannot open file '.\Debug\TestXMLDoc.sbr': No such file or directory
Error executing bscmake.exe.
TestXML.exe - 2 error(s), 0 warning(s)
我的msxml2.idl文件在sdk的inc文件夹下,已经加到include路径下了,请使用过msxml3的DX指点迷津,谢谢