vc读xml文件简单例子

 <!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by yuling (colegend)   -->

- < SysSetting >
  < BackLightTime > 5 </ BackLightTime >
  < Bright > 6 </ Bright >
  < DesktopBackground > 4 </ DesktopBackground >
  < Volumn > 6 </ Volumn >
  < TouchMute > 1 </ TouchMute >
  < Language > 0 </ Language >
  < AutoCloseTime > 2 </ AutoCloseTime >
  < BackgroundPath > /Images/Common/background.bmp </ BackgroundPath >
  < WIFISwitch > 1 </ WIFISwitch >
  < LimitMemory > 7000 </ LimitMemory >
  < def_BackLightTime > 3 </ def_BackLightTime >
  < def_Bright > 6 </ def_Bright >
  < def_DesktopBackground > 4 </ def_DesktopBackground >
  < def_Volumn > 6 </ def_Volumn >
  < def_TouchMute > 1 </ def_TouchMute >
  < def_Language > 0 </ def_Language >
  < def_AutoCloseTime > 2 </ def_AutoCloseTime >
  </ SysSetting >
 
#include <windows.h>
#include <stdio.h>
#include <fstream>
#include <iostream>
#include <string>
#import <msxml3.dll>
using namespace MSXML2;
using namespace std;
 
int main(int argc,char *argv[])
{
 CoInitialize(NULL);
 wchar_t wbuf[500];
 char buf[500];
 wstring str;
 MSXML2::IXMLDOMDocumentPtr pDoc;
 MSXML2::IXMLDOMElementPtr rootNode;
 MSXML2::IXMLDOMNodeListPtr nodeList;
 MSXML2::IXMLDOMNodePtr pNode;
 HRESULT hr = pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument30));
 if(!SUCCEEDED(hr))
 {
    wprintf(L"Error");
    return 1;
 }
 variant_t vResult;
 vResult=pDoc->load(L"SysSetting.xml");
 if (((bool)vResult) != TRUE) // 加载失败
 {
  wprintf(L"load failed");
  return 0;
 }
 //pDoc->get_documentElement(&rootNode);  //效果和下句一样
 rootNode = (MSXML2::IXMLDOMElementPtr)(pDoc->selectSingleNode(L"//SysSetting")); 
 rootNode->get_childNodes(&nodeList);
 BSTR bstr;
 nodeList->get_item(1,&pNode);
 pNode->get_nodeName(&bstr);
 cout<<(char*)(_bstr_t)bstr<<endl;
 int len;
 nodeList->get_length((long*)&len);
 for(int i=0;i<len;i++){
  nodeList->get_item(i,&pNode);
  cout<<(char*)(_bstr_t)pNode->nodeName<<": ";
  cout<<(char*)(_bstr_t)pNode->nodeTypedValue<<endl;
 }
 CoUninitialize();
 return 1;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值