请问一下VC下的XML解析需要的环境?

我刚开始做XML,碰到很多问题。  
  #pragma   <msxml3.dll>  
  using   namespace   MSXML2;  
   
  结果连CLSID_DOMDocument、IID_IXMLDOMNode等GUID都不认识,哪儿定义的呀?  
  我的是IE5. 问题点数:100、回复次数:18Top

src="/Include/Board.htm?Tags=" frameborder="0" scrolling="no">

1 楼door_proxy(重新再来)回复于 2005-12-14 10:05:18 得分 0

自己先顶Top

2 楼happyparrot(快乐鹦鹉)回复于 2005-12-14 10:08:53 得分 0

只有msxml3.dll,没有lib文件么?用#import导入该库吧Top

3 楼door_proxy(重新再来)回复于 2005-12-14 10:20:06 得分 0

就是加了#pragma   comment(lib,"msxml.lib")还是不认识。Top

4 楼happyparrot(快乐鹦鹉)回复于 2005-12-14 10:22:45 得分 10

用#import直接引入动态库。  
  如同引入ADO动态库:  
  #import   "c:/program   files/common   files/system/ado/msado15.dll"这样。Top

5 楼hongyan80(鸿雁)回复于 2005-12-14 10:29:32 得分 10

安装msxml3后,直接使用COM接口访问Top

6 楼Drong([伤口])回复于 2005-12-14 10:37:20 得分 0

Top

7 楼door_proxy(重新再来)回复于 2005-12-14 10:39:29 得分 0

我是装完windows2000系统后,winnt目录下就有msxml3.dll等文件,还需要装msxml3吗?  
  IXMLDOMDocument         *pXmlDoc;  
   
  pXmlDoc.CreateInstance(__uuidof(DOMDocument));     成功的  
   
  hr   =   ::CoCreateInstance(CLSID_DOMDocument,NULL,CLSCTX_INPROC_SERVER,  
  IID_IXMLDocument,(LPVOID*)&pXmlDoc);      
  换成第二种方式就不行了,不认识CLSID_DOMDocument,  
  怎么办?Top

8 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-12-14 13:23:51 得分 10

包含.h   和.c文件Top

9 楼vans322(小范)回复于 2005-12-14 15:04:02 得分 10

注册一下   dllTop

10 楼pomelowu(羽战士)回复于 2005-12-14 15:31:48 得分 20

Get   Ready   to   Work   with   MSXML:  
   
  http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/def1c84a-6f8a-4b4d-b919-d1a703118214.aspTop

11 楼door_proxy(重新再来)回复于 2005-12-14 17:08:27 得分 0

注册与否跟认识CLSID_DOMDocument没什么关系吧。Top

12 楼gzlyb(冰风)回复于 2005-12-15 01:58:40 得分 10

注册与否跟认识CLSID_DOMDocument没什么关系吧  
  -------------------------------------------  
  没关系。但如果不注册,无法使用DLL,除非用LoadLibrary(...)  
  如上各位所说,用#import   "路径/msxml3.dll",就认识CLSID_DOMDocument了Top

13 楼tsys2000(☆唐僧☆)回复于 2005-12-15 08:28:31 得分 0

学习中Top

14 楼leechiyang(逮老鼠的狗算不算好猫?)回复于 2005-12-15 08:38:16 得分 30

//   test1.cpp   :   Defines   the   entry   point   for   the   console   application.  
  //  
   
  #include   "stdafx.h"  
  #include   <iostream.h>  
  #import   "C://WINNT//system32//msxml3.dll"  
   
  int   main(int   argc,   char*   argv[])  
  {  
  cout<<("Hello   World!/n");  
  int   nRetCode   =   1;  
  CoInitialize(NULL);  
  //   TODO:   code   your   application's   behavior   here.  
  MSXML2::IXMLDOMDocumentPtr   pDoc;    
  MSXML2::IXMLDOMElementPtr     xmlRoot;  
   
  //创建DOMDocument对象  
  HRESULT   hr   =   pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument30));  
  if(!SUCCEEDED(hr))  
  {  
  MessageBox(NULL,   "无法创建DOMDocument对象,请检查是否安装了MS   XML   Parser   运行库!",   "error",   MB_OK);    
  }    
   
  //根节点的名称为china  
  pDoc->raw_createElement((_bstr_t)(char*)"china",   &xmlRoot);  
  pDoc->raw_appendChild(xmlRoot,   NULL);  
   
  MSXML2::IXMLDOMElementPtr     childNode   ;                    
  pDoc->raw_createElement((_bstr_t)(char*)"City",   &childNode);  
  childNode->Puttext("WuHan");//节点值  
  childNode->setAttribute("population","8,000,000");//属性名,属性值  
  childNode->setAttribute("area","10000");  
  xmlRoot->appendChild(childNode);  
   
  pDoc->raw_createElement((_bstr_t)(char*)"City",   &childNode);  
  childNode->Puttext("ShangHai");  
  childNode->setAttribute("population","12,000,000");  
  childNode->setAttribute("area","12000");  
  xmlRoot->appendChild(childNode);  
   
  //保存到文件  
  //如果不存在就建立,存在就覆盖  
  pDoc->save("c://he.xml");    
   
   
  return   0;  
  }  
   
  Top

15 楼vans322(小范)回复于 2005-12-15 09:57:52 得分 0

import   最好不要绝对路径Top

16 楼door_proxy(重新再来)回复于 2005-12-15 15:59:27 得分 0

to   gzlyb(冰风):  
  没关系。但如果不注册,无法使用DLL,除非用LoadLibrary(...)  
  如上各位所说,用#import   "路径/msxml3.dll",就认识CLSID_DOMDocument了  
  --------------------------------------------------------------------  
  我的msxml3.dll在winnt/system32下,且手工注册了一次,提示也注册成功,但还是不  
  认识CLSID_DOMDocument。Top

17 楼door_proxy(重新再来)回复于 2005-12-15 16:00:10 得分 0

能不能帮我看看CLSID_DOMDocument在什么文件里定义的? 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值