📄 xmldata.cpp
字号:
// XMLDATA.cpp : 定义 DLL 应用程序的入口点。
//
#include "stdafx.h"
#include "XMLDATA.h"
#include <atlbase.h>
#include <atlconv.h>
#import "msxml3.dll"
using namespace MSXML2;
using namespace std;
CXMLDATA XmlData;
const char DataFileName[]="XMLDATA.xml";
CXMLDATA::CXMLDATA()
{
return;
}
bool CXMLDATA::ReadData(void)//读取数据
{
MSXML2::IXMLDOMDocumentPtr pXMLDom;
MSXML2::IXMLDOMNodeListPtr pXMLDOMNodeList;
MSXML2::IXMLDOMNamedNodeMapPtr pXMLDOMNamedNodeMap;
HRESULT hr;
//
CoInitialize(NULL);//进入COM
hr = pXMLDom.CreateInstance(__uuidof(DOMDocument30));
if (FAILED(hr))
{
return false;
}
if ( pXMLDom->load(DataFileName) != VARIANT_TRUE)
{
return false;
}
pXMLDOMNodeList=pXMLDom->lastChild->childNodes;
int len=pXMLDOMNodeList->length;
if(len==0) return false;
for(int n=0;n<len;n++)
{
pXMLDOMNamedNodeMap=pXMLDOMNodeList->item[n]->attributes;//得到属性
//属性1
CW2AEX<100> X1((pXMLDOMNamedNodeMap->item[0]->nodeValue).bstrVal);
VName.push_back (X1.m_szBuffer );
//属性2
CW2AEX<400> X2((pXMLDOMNamedNodeMap->item[1]->nodeValue).bstrVal);
VLogInCode.push_back (X2.m_szBuffer );
//属性2
CW2AEX<100> X3((pXMLDOMNamedNodeMap->item[2]->nodeValue).bstrVal);
VDownLoadCode.push_back (X3.m_szBuffer );
}
pXMLDom.Release();
pXMLDOMNodeList.Release();
pXMLDOMNamedNodeMap.Release();
CoUninitialize();//离开COM
return true;
}
bool CXMLDATA::WriteData(void)//写入数据
{
MSXML2::IXMLDOMDocumentPtr pXMLDom;
HRESULT hr;
CoInitialize(NULL);
hr= pXMLDom.CreateInstance(__uuidof(DOMDocument30));
if (FAILED(hr))
{
return false;
}
//开始准备写入的内容
int len = VName.size ();
string XMLContent;
XMLContent.append ("<?xml version=\"1.0\" encoding=\"GB2312\"?>");
XMLContent.append ("<root>");
for(int n=0;n<len;n++)
{
XMLContent.append ("<item Name=\"");
XMLContent.append (VName[n]);
XMLContent.append ("\" LogInCode=\"");
XMLContent.append (VLogInCode[n]);
XMLContent.append ("\" DownLoadCode=\"");
XMLContent.append (VDownLoadCode[n]);
XMLContent.append ("\" />");
}
XMLContent.append ("</root>");
if(pXMLDom->loadXML(
XMLContent.c_str ())!=VARIANT_TRUE)
{
return false;
}
hr = pXMLDom->save(DataFileName);//最关键的一句话
pXMLDom.Release();
CoUninitialize();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -