#include <windows.h>
#include <iostream.h>
#import <msxml4.dll>
using namespace MSXML2;
void main()
{
//必须声明的几个变量
IXMLDOMDocument *pXMLDom=NULL;//创建解析器的实例
IXMLDOMElement* pXMLRoot = NULL;//获得根节点
IXMLDOMNode *pXMLNode=NULL;//节点变量
IXMLDOMNodeList *pXMLNodeList=NULL;//节点链表变量
IXMLDOMNamedNodeMap *pDOMNamedNodeMap=NULL;//属性映射
VARIANT dataTypeName;
//初始化COM环境
CoInitialize(NULL);
CoCreateInstance(__uuidof(DOMDocument40),
NULL,
CLSCTX_INPROC_SERVER,
__uuidof(IXMLDOMDocument),
(void**)&pXMLDom);
pXMLDom->load("test.xml");
pXMLDom->get_documentElement(&pXMLRoot);
pXMLRoot->get_dataType(&dataTypeName);
IXMLDOMNode *firstChild=NULL;
pXMLRoot->get_firstChild(&firstChild);//得到第一个孩子结点
BSTR nameString;
firstChild->get_baseName(&nameString);
cout<<_bstr_t(nameString)<<endl;//得到第一个孩子结点的节点名
IXMLDOMNamedNodeMap *attributeMap=NULL;//得到该节点的属性集合
firstChild->get_attributes(&attributeMap);
long listLength=0;
attributeMap->get_length(&listLength);
cout<<"该节点属性的个数为:"<<listLength<<endl;
for (long i = 0; i != listLength; ++i)
{
IXMLDOMNodePtr spNodeAttrib; //注意属性也是一个IXMLDOMNode
attributeMap->get_item(i, &spNodeAttrib);
BSTR bsNodeName;
spNodeAttrib->get_nodeName(&bsNodeName); //节点名
cout<<_bstr_t(bsNodeName)<<endl;
_variant_t varVal;
spNodeAttrib->get_nodeValue(&varVal); //节点值
cout<<_bstr_t(varVal)<<endl;
}
cout<<"此后为最后一个节点的信息"<<endl;
IXMLDOMNode *lastChild;
pXMLRoot->get_lastChild(&lastChild);//得到第一个孩子结点
lastChild->get_baseName(&nameString);
cout<<_bstr_t(nameString)<<endl;//得到第一个孩子结点的节点名
//关闭COM环境
CoUninitialize();
}
没有合适的资源?快使用搜索试试~ 我知道了~
很好的C++读XML示例
共21个文件
pdb:2个
opt:2个
tli:2个
5星 · 超过95%的资源 需积分: 4 59 下载量 146 浏览量
2009-09-07
21:38:07
上传
评论
收藏 2.21MB RAR 举报
温馨提示
很好的C++读XML示例,可以结和MSXML2 SDK说明文档来做更多的功能
资源推荐
资源详情
资源评论
收起资源包目录
MyXML2.rar (21个子文件)
MyXML2
msxml4.tli 155KB
xml2main.cpp 2KB
msxml4.tlh 203KB
MyXML2.dsw 537B
MyXML2.dsp 4KB
Debug
xml2main.obj 47KB
vc60.pdb 204KB
msxml4.tli 155KB
MyXML2.pch 4.8MB
msxml4.tlh 203KB
MyXML2.exe 184KB
MyXML2.pdb 617KB
vc60.idb 185KB
MyXML2.bsc 2.4MB
MyXML2.ilk 252KB
xml2main.sbr 0B
MyXML2.opt 43KB
MyXML2.ncb 281KB
MyXML2.opt 53KB
MyXML2.plg 893B
Stocks.xml 770B
共 21 条
- 1
资源评论
- bingcaihuang2013-06-14一般,不是很好,学习了
answerjiang
- 粉丝: 4
- 资源: 14
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功