在XML操作中執行CoCreate指令時無法識別CLSID_DOMDocument改怎麼解決

sunrise1234 2002-07-12 03:23:12
在XML操作中執行CoCreate指令時無法識別CLSID_DOMDocument改怎麼解決CoCreateInstance(CLSID_DOMDocument,NULL,
CLSCTX_INPROC_SERVER,
IID_IXMLDocument,
(LPVOID*)&m_pXMLDocument);
...全文
111 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lightest 2002-07-16
  • 打赏
  • 举报
回复
试试
#import "msxml2.dll"
sunrise1234 2002-07-15
  • 打赏
  • 举报
回复
no msxml3.dll
Lightest 2002-07-12
  • 打赏
  • 举报
回复

#import "msxml3.dll"
using namespace MSXML2;

void dump_com_error(_com_error &e)
{
printf("Error\n");
printf("\a\tCode = %08lx\n", e.Error());
printf("\a\tCode meaning = %s", e.ErrorMessage());
_bstr_t bstrSource(e.Source());
_bstr_t bstrDescription(e.Description());
printf("\a\tSource = %s\n", (LPCSTR) bstrSource);
printf("\a\tDescription = %s\n", (LPCSTR) bstrDescription);
}


int main(int argc, char* argv[])
{
CoInitialize(NULL);


try{
IXMLDOMDocumentPtr pXMLDoc;
HRESULT hr = pXMLDoc.CreateInstance(__uuidof(DOMDocument));

pXMLDoc->async = false; // default - true,


hr = pXMLDoc->load("stock.xml");

if(hr!=VARIANT_TRUE)
{
IXMLDOMParseErrorPtr pError;

pError = pXMLDoc->parseError;
_bstr_t parseError =_bstr_t("At line ")+ _bstr_t(pError->Getline()) + _bstr_t("\n")+ _bstr_t(pError->Getreason());
MessageBox(NULL,parseError, "Parse Error",MB_OK);
return 0;
}

CComPtr<IStream> pStream;
hr = CreateStreamOnHGlobal(NULL, true, &pStream);
hr = pXMLDoc->save(pStream.p);

LARGE_INTEGER pos;
pos.QuadPart = 0;

//the key is to reset the seek pointer
pStream->Seek((LARGE_INTEGER)pos, STREAM_SEEK_SET, NULL);

IXMLDOMDocumentPtr pXMLDocNew;
hr = pXMLDocNew.CreateInstance(__uuidof(DOMDocument));
pXMLDocNew->async = false;
hr = pXMLDocNew->load(pStream.p);
if(hr!=VARIANT_TRUE)
{
IXMLDOMParseErrorPtr pError;

pError = pXMLDocNew->parseError;
_bstr_t parseError =_bstr_t("At line ")+ _bstr_t(pError->Getline()) + _bstr_t("\n")+ _bstr_t(pError->Getreason());
MessageBox(NULL,parseError, "Parse Error",MB_OK);
return 0;
}

MessageBox(NULL,(LPTSTR)pXMLDocNew->xml, "XML content",MB_OK);

}
catch(_com_error &e)
{
dump_com_error(e);
}
CoUninitialize();

return 0;
}



3,055

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC HTML/XML
社区管理员
  • HTML/XML社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧