奇怪啊,IXMLDOMDocument2的get_documentElement失败

时间:2022-09-14 19:17:25
#include <msxml2.h>
#include <iostream.h>

int main(void){
    CoInitialize(NULL);

    IXMLDOMDocument2* pDoc=NULL;
    HRESULT hr=CoCreateIntance(CLSID_DOMDocument,NULL,IID_IXMLDOMDocument2,(void**)&pDoc);
    IXMLDOMElement* pElement=NULL;
    hr=pDoc->get_documentElement(*pElement);
    pElement->Release();
    pElement=NULL;

    char buf[128];
    DWORD dwStatus=FormatMessage(
            FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ARGUMENT_ARRAY,
            NULL, // LPCVOID pointer to message source
   hr, // DWORD requested message identifier
   LANG_NEUTRAL, // DWORD language identifier for message
   buf, // LPTSTR pointer to message buffer
   127, // DWORD maximum size of message buffer
   NULL // va_list *Arguments address of array of message 
            ); 
    cout << buf << endl;
    pDoc->Release();
    pDoc=NULL;
   
    CoUninitialize();
    return 0;
}

上面的程序编译条件:msxml2.h,msxml2.lib

编译通过,但运行时 hr=pDoc->get_documentElement(*pElement); 出错.
报 "功能错误".......

这是为啥啊??????? 请各位帮忙,
急,急.................

3 个解决方案

#1


你没有检查CoCreateIntance的返回值。
另外,你还没有load或者appendchild,document是空的

#2


是的.
我忘了loadXML了.
谢谢!!!!

#3


up

#1


你没有检查CoCreateIntance的返回值。
另外,你还没有load或者appendchild,document是空的

#2


是的.
我忘了loadXML了.
谢谢!!!!

#3


up