Click here to Skip to main content
Click here to Skip to main content
 
Add your own
alternative version
Go to top

Save Application Settings to XML

, 16 Sep 2002
An easy to use class that reads, writes and deletes app settings to an XML file.
xmlsettings_demo.zip
XmlSettingsTest.clw
XmlSettingsTest.dsp
XmlSettingsTest.dsw
res
XmlSettingsTest.ico
mainpic.bmp
bitmap2.bmp
Release
XmlSettingsTest.exe
xmlsettings_src.zip
#if !defined(XMLSETTINGS_H)
#define XMLSETTINGS_H

#import "msxml4.dll" named_guids raw_interfaces_only

/////////////////////////////////////////////////////////////////////////////
// CXMLSettings window

#include <atlbase.h>

class CXMLSettings
{
// Construction
public:
	CXMLSettings()
	{
		XmlDocPtr = NULL;
		cstrConfigFile = "";
	}

// Implementation
public:
	void SetSettingsFile(CString cstrFile) { cstrConfigFile = cstrFile; };

	long GetSettingLong(CString cstrBaseKeyName, CString cstrValueName, long lDefaultValue);
	long SetSettingLong(CString cstrBaseKeyName, CString cstrValueName, long lValue);

	CString GetSettingString(CString cstrBaseKeyName, CString cstrValueName, CString cstrDefaultValue);
	long SetSettingString(CString cstrBaseKeyName, CString cstrValueName, CString cstrValue);

	BOOL DeleteSetting(CString cstrBaseKeyName, CString cstrValueName);

protected:
	MSXML2::IXMLDOMDocument2Ptr XmlDocPtr;
	CString cstrConfigFile;

	CString* ParseKeys(CString cstrFullKeyPath, int &iNumKeys);
	BOOL LoadXML();
	BOOL SaveXML();
	void UnloadXML() { XmlDocPtr = NULL; };
	MSXML2::IXMLDOMNodePtr FindNode(MSXML2::IXMLDOMNodePtr parentNode, CString* pCStrKeys, int iNumKeys, BOOL bAddNodes = FALSE);

};

#endif XMLSETTINGS_H

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

Share

About the Author

Jason Henderson
Software Developer (Senior)
United States United States
I have been a professional developer since 1996. I live in the middle of no where in Illinois, USA. I am married and have four children.

| Advertise | Privacy | Mobile
Web01 | 2.8.140916.1 | Last Updated 17 Sep 2002
Article Copyright 2002 by Jason Henderson
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid