使用VC6.0访问XML文件!

原创 2006年06月07日 21:34:00

新建了一个类,所有的访问代码都包含在MyTest类中了!

(四年以前使用过VC,这是四年以后第一个VC程序)

//=========================================================================

头文件:MyTest.h的代码如下  

//导入操作DOM的COM
#import <msxml.dll> named_guids
using namespace MSXML;
//....................................................
class MyTest {
         public:
                   MyTest();
                   virtual ~MyTest();
                   void testme();
                   //定义操作DOM对象的指针
                  IXMLDOMDocumentPtr m_plDomDocument;
                  IXMLDOMElementPtr m_pDocRoot;
                  void DisplayChild(IXMLDOMNodePtr pChild);
                  void DisplayChildren(IXMLDOMNodePtr pParent);
};

//============================================================================

实现文件:MyTest.cpp

MyTest::MyTest(){
                   //可能是开始使用COM
                   ::AfxOleInit();
                   ::CoInitialize(NULL);
                   HRESULT hr = m_plDomDocument.CreateInstance(CLSID_DOMDocument);
                   if (FAILED(hr)){
                       _com_error er(hr);
                      AfxMessageBox(er.ErrorMessage());
                     //EndDialog(1);
                  }
}

MyTest::~MyTest(){

}
void MyTest::testme(){
                   //开始操作XML文档了
                   CString strFileName ("my.xml");
                   // convert xml file name string to something COM can handle (BSTR)
                   _bstr_t bstrFileName;
                  bstrFileName = strFileName.AllocSysString();

                   // call the IXMLDOMDocumentPtr's load function to load the XML document
                  variant_t vResult;
                  vResult = m_plDomDocument->load(bstrFileName);
                 if (((bool)vResult) == TRUE) {// success!
                     // now that the document is loaded, we need to initialize the root pointer
                     m_pDocRoot = m_plDomDocument->documentElement;
                    AfxMessageBox("Document loaded successfully!");
                 }else{
                 AfxMessageBox("Document FAILED to load!");
                  }
                AfxMessageBox(m_plDomDocument->xml);
}

void MyTest::DisplayChildren(IXMLDOMNodePtr pParent){
                    // display the current node's name
                   DisplayChild(pParent);

                   // simple for loop to get all children
                   for (IXMLDOMNodePtr pChild = pParent->firstChild;
                        NULL != pChild;
                        pChild = pChild->nextSibling){
                    // for each child, call this function so that we get
                    // its children as well
                    DisplayChildren(pChild);
 }
}

void MyTest::DisplayChild(IXMLDOMNodePtr pChild){
 //if (class="codeHighlight">NODE_TEXT == pChild->nodeType)
 //{
  //AfxMessageBox(pChild->text);
 //}
 //else
 //{
  //AfxMessageBox(pChild->nodeName);
 //}

}

//=================================================================================

vc6.0 下利用MSXML对xml文件的基本操作

1:#import "msxml4.dll"          //加入导入库2:AfxOleInit();                           //初始化com组件3:void On...
  • smstone
  • smstone
  • 2006年04月07日 16:21
  • 4487

win7下用VC6.0连接MySQL5.1数据库

软件环境: Win7 64位 + MySQL5.1 + VC6.0   在VC中调用MySQL数据库时,需要用到MySQL5.1安装位置的include目录和lib目录,还有libmysql.lib...
  • sanqima
  • sanqima
  • 2015年12月03日 18:55
  • 932

vc6.0下c++连接mysql数据库

一   vc6.0连接mysql数据库 (1)打开VC6.0 工具栏Tools菜单下的Options选项,在Directories的标签页中右边的“Show directories for:”下拉列...
  • lyf08600231
  • lyf08600231
  • 2013年03月11日 21:14
  • 1806

VC 6.0中编译和使用OpenSSL的过程

一、编译OpenSSL    在编译OpenSSL前,需要正确安装Perl,因为在编译OpenSSL时需要使用到该程序。        下载最新版本的Perl:http://downloads.act...
  • trents
  • trents
  • 2010年01月07日 14:40
  • 2208

不要使用VC6自带的STL

今天一个VC6.0的程序折腾了一天, 最后实在无法定位错误, 只好使用VC7.1编译, 结果一切OK.由于程序中使用了不少STL的东西, 特别是容器等, 于是怀疑是VC6.0自带的STL问题, 于是又...
  • ilovevc
  • ilovevc
  • 2005年08月16日 19:40
  • 3188

为什么我的vc6.0建立工程时显示不能访问类查文件类信息,类查看信息不可用

出现此类错误的原因就是.ncb文件不好用了,太旧了,删除它。然后重新打开工程。 PS:有时候无法删除,通过任务管理器,把MSDV.EXE任务结束,就可以直接删除了...
  • qachenzude
  • qachenzude
  • 2011年11月25日 17:38
  • 2404

VC6.0 利用ADO连接Sqlserver2005数据库方法

VC6.0 利用ADO连接Sqlserver2005数据库方法创建一个基于对话框的工程。 1.在stdafx.h中添加ADO的引用//步骤1 添加ado dll的引用 #import "C:\Pro...
  • vcpro126
  • vcpro126
  • 2012年12月04日 22:06
  • 1205

WEB 下访问XML文件

如果不是试着在Web下访问XML文件,就不会发现上一篇文章中的错误 。学到了点1、在eclipse中配置tomcat一定要配置对,这次就是在应用程序中怎么都对,但到了Web方式下,就怎么也不对,总是转...
  • sd_lichangyou
  • sd_lichangyou
  • 2006年08月07日 10:06
  • 1039

关于VC6.0的预编译

                                                                           关于VC6.0的预编译       前几天有个QQ...
  • anyue417
  • anyue417
  • 2007年01月09日 21:20
  • 1900

VC6.0如何使用ocx控件文件

首先感谢网络中的各位高手,我的文章只是对你们文章的Copy和学习。  工作中客户提供了一个ocx控件,学习了如何使用它。发现网上没用针对像我一样菜鸟的文章,所以我总结一下我的学习成果供菜鸟学习使用。...
  • d_a_r_k
  • d_a_r_k
  • 2013年07月21日 22:26
  • 859
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用VC6.0访问XML文件!
举报原因:
原因补充:

(最多只允许输入30个字)