5-8万年薪顶级嵌入式,京沪深就业地 浅谈并行编程中的任务分解模式
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  HTML/XML

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

楼主sunrise1234(henan)2002-07-12 15:23:12 在 VC/MFC / HTML/XML 提问

在XML操作中執行CoCreate指令時無法識別CLSID_DOMDocument改怎麼解決CoCreateInstance(CLSID_DOMDocument,NULL,    
                                  CLSCTX_INPROC_SERVER,  
                                  IID_IXMLDocument,  
                                  (LPVOID*)&m_pXMLDocument); 问题点数:0、回复次数:3Top

1 楼Lightest(一闪而过)回复于 2002-07-12 15:30:55 得分 0

 
  #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;  
  }  
     
   
   
  Top

2 楼sunrise1234(henan)回复于 2002-07-15 12:57:37 得分 0

no   msxml3.dllTop

3 楼Lightest(一闪而过)回复于 2002-07-16 13:46:18 得分 0

试试  
  #import   "msxml2.dll"  
  Top

相关问题

  • 如何接受domdocument的xml数据
  • XML
  • xml???
  • XML
  • xml
  • XML
  • XML
  • 关于 CLSID...
  • 【 DOMDocument 问题, 急 】
  • ADO的CLSID问题

关键词

  • hr
  • xml
  • null
  • pxmldocnew
  • pxmldoc
  • domdocument
  • parseerror
  • perror
  • bstr
  • pstream

得分解答快速导航

  • 帖主:sunrise1234

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
x 提问