文件名称:XML操作动态库
文件大小:20KB
文件格式:RAR
更新时间:2010-08-28 16:06:12
XML操作动态库
/******************************************************************************/
/* 开发者:元杰(夏祥均)*/
/* 开发时间:2007-08-08 */
/******************************************************************************/
#pragma once
#import
# include
#include
#ifdef XML_DLL
#define DLL_API _declspec(dllexport)
#else
#define DLL_API _declspec(dllimport)
#endif
//******************************
//属性结构体
typedef struct {
CString Name;
CString Text;
}ATTRIBUTE;
//******************************
//类
//AFX_CLASS_EXPORT
extern "C" class DLL_API CMyXML
{
//******************************
//私有属性
private:
MSXML2::IXMLDOMDocument2Ptr m_XmlDoc; //xml对象
_bstr_t m_error; //错误对象
int m_code; //错误代码见下
bool m_isXmlDocInited;
bool m_isFileLoad; //文件是否载入
bool m_isControl; //xml对象是否可操作
CString m_xmlFileName; //文件
//******************************
//私有操作
private:
void InitClass(); //初始化类
bool SaveXML(); //保存文档
//******************************
//公有属性
public:
CStringArray m_NodeElements; //返回的NODE元素
CArray
//******************************
//公有操作
public:
//类的基本操作
CMyXML(void);
CMyXML(CString fileName);
~CMyXML(void);
//返回错误
CString GetErrorMessage();
int GetErrorCode();
//加载文件
bool LoadXmlFile(CString fileName);
CString GetXmlFileName();
//读取节点
CString GetSingleNode(CString url, CString defaultString = ""); //url为节路径,defaultString为找不到时的默认值
bool GetNodes(CString url, CStringArray *reStrs = NULL); //得到多个NODE元素值,返回值保存在m_NodeElements成员中和reStrs中
CString GetNodeAttribute(CString url, CString attribute, CString defaultString = "");//url为节路径,attribute为要获取的属性,defaultString为找不到时的默认值
bool GetNodeAttributes(CString url, CArray
//添加节点
bool AddSingleNode(CString parent, CString node, CString text = "", CString atts = "", ...);//添加NODE:其中atts的格式为"name=%s[;name=%s]"每一个%s对应一个CString字符串
bool SetNodeAttributes(CString url, CString atts, ...);//其中atts的格式为"name=%s[;name=%s]"每一个%s对应一个CString字符串
//删除节点
bool DeleteNodes(CString url, CString condition = "", ...);//condition为条件:其中condition的格式为"name=%s[;name=%s]"每一个%s对应一个CString字符串(如果name为"TEXT",则对应的%s参数为值)
bool AlterSingleNode(CString url, CString text, CString condition = "", ...);//condition为条件:其中condition的格式为"name=%s[;name=%s]"每一个%s对应一个CString字符串
};
//*****************************************************************************
//错误代码表
//0:没有错误1:初始化对象失败2:没有加载文件3:找不到指定文件4:XML文档错误
//5:节点在存在6:属性不存在7:添加节点失败8:添加属性失败9:保存文档失败
//10:删除节点失败11:读取参娄失败12:修改结点失败
//******************************************************************************
【文件预览】:
MyXML.h
CXMLControl.lib
CXMLControl.dll