⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmlconfig.h

📁 可移植的xml库。已经在windows和linux上测试通过。只使用C++ Runtine
💻 H
字号:
#ifndef LIBXML_XMLCONFIG_H
#define LIBXML_XMLCONFIG_H

//xmlconfig.h
class CXMLConfig
{
	char *m_path;
	bool m_modified;
	CXMLNode *m_root;
	CXMLParser m_prs;
	unsigned short m_plen;
	unsigned short m_buflen;
	CXMLNode* createDir(const char *dir,const char *var);
public:
	CXMLConfig();
	~CXMLConfig();

	bool isModifed() const;
	CXMLParser& getParser();
	CXMLNode* getRoot() const;
	const char* getFilePath() const;
	CXMLNode* getDir(const char *dir,const char *var) const;
	CXMLNode* getNode(const char *path) const;
	bool getVarBool(const char *path,bool def=false) const;
	char getVarChar(const char *path,char def=0) const;
	unsigned char getVarUChar(const char *path,unsigned char def=0) const;
	short getVarShort(const char *path,short def=0) const;
	unsigned short getVarUShort(const char *path,unsigned short def=0) const;
	int getVarInt(const char *path,int def=0) const;
	unsigned getVarUInt(const char *path,unsigned def=0) const;
	long getVarLong(const char *path,long def=0) const;
	unsigned long getVarULong(const char *path,unsigned long def=0) const;
	const char* getVar(const char *path,const char *def=0) const;

	void setModified(bool modified);
	int setDir(const char *path,CXMLNode *x);
	int setVar(const char *path,bool val);
	int setVar(const char *path,char val);
	int setVar(const char *path,unsigned char val);
	int setVar(const char *path,short val);
	int setVar(const char *path,unsigned short val);
	int setVar(const char *path,int val);
	int setVar(const char *path,unsigned val);
	int setVar(const char *path,long val);
	int setVar(const char *path,unsigned long val);
	int setVar(const char *path,const char *val,CXMLCodec *c=0);

	int save(bool nooverwrite=false);
	int load(const char *path,CXMLCodec *c=0);
	int saveAs(const char *path,bool nooverwrite=false);
	int close(bool discard=false,bool nooverwrite=false);
};

inline CXMLParser& CXMLConfig::getParser(){return m_prs;}
inline CXMLNode* CXMLConfig::getRoot() const{return m_root;}
inline bool CXMLConfig::isModifed() const{return m_modified;}
inline const char* CXMLConfig::getFilePath() const{return m_path;}
inline void CXMLConfig::setModified(bool modified){m_modified=modified;}
inline CXMLNode* CXMLConfig::getNode(const char *path) const
{
	return getDir(path,strrchr(path,':'));
}

#endif//LIBXML_XMLCONFIG_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -