现在的位置: 首页 > 综合 > 正文

vc读xml文件简单例子

2018年02月21日 ⁄ 综合 ⁄ 共 1776字 ⁄ 字号 评论关闭

 <!-- 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;
}
【上篇】
【下篇】

抱歉!评论已关闭.