已编译好的动态库文件下载地址:
https://download.csdn.net/download/u014272404/87410690
1.静态库调用
#include "xml/XMLFileDll.h" //内部文件
using namespace JWXml;
#pragma comment(lib, "Lib/XMLFile.lib")
2.创建容器对象,结构体或者类:
XML_CONFIG g_xmlCfg;
struct XML_CONFIG
{
BOOL bInitMotion;
CString strDllMotion;
}
3.初始化ole(重点)
AfxOleInit();
4.dll文件和已经建好的xml文件放入到执行目录下
5.读取数据
BOOL CABCApp::fnGetSysXmlCfg()
{
CString strPath, strValue;
CXMLDll xml;
if (!xml.fnOpenFile(g_App.strAppPath + XmlbaseFiles+ "\\XmlSysConfig.xml"))
{
AfxMessageBox(xml.fnGetLastErr(), MB_OK | MB_ICONERROR);
return FALSE;
}
//获取字段appDLL//给程序用的结构体或者类
strPath.Format(_T("%s/%s"), XML_SYS_DLL, "dllMotion");
if (!xml.fnGetAttributeByPath(strPath, XML_VALUE, xml_Config.strDllMotion))
{
AfxMessageBox(xml.fnGetLastErr(), MB_OK | MB_ICONERROR);
return FALSE;
}
}
xml_Config.strDllMotion 就是读取的内容
6.写入数据
BOOL CABCApp::fnSetSysXmlCfg()
{
CString strPath, strValue;
CXMLDll xml;
//打开配置文件
if (!xml.fnOpenFile(g_App.strAppPath + XmlbaseFiles + "\\XmlSysConfig.xml"))
{
AfxMessageBox(xml.fnGetLastErr(), MB_OK | MB_ICONERROR);
return FALSE;
}
//获取字段initALL //获取是否系统初始化 设置数据
strPath.Format(_T("%s"), XML_SYS_INITALL);
if (!xml.fnSetValueByPath(strPath, xml_Config.bInitALL))
{
AfxMessageBox(xml.fnGetLastErr(), MB_OK | MB_ICONERROR);
return FALSE;
}
}
xml_Config.bInitALL 改变此值 就可以重新写入数据