• CXMLControl

    1.加载类库.<br> 例:<br> #include "XMLControl.h"<br>#pragma comment(lib, "CXMLControl.lib")<br>2.构造类对象.<br>例:<br> CXMlControl myObject(“XML文件路径”);<br>3.添加节点.<br>例:<br> myObject.AddSingleNode("父节点路径(以’//’开头)", "要添加的节点名称", "节点值","属性列表(属性值=%s[S][[;属性值=%s[S]]…] 例如:attribute1=%s;attribute2=%S 其中属性值不能为’TEXT’这是一个保留值)","值1","值2");<br>4.修改属性.<br> 例:<br> myObject.SetNodeAttributes("节点路径", "属性列表(属性值=%s[S][[;属性值=%s[S]]…] 例如:attribute1=%s;attribute2=%S 其中属性值不能为’TEXT’这是一个保留值)", "值1", "值2(如果值为空,则删除这个属性)");<br>5.修改节点.<br> 例:<br> myObject.AlterSingleNode("节点路径", "修改后的节点值", "条件类型列表(属性值=%s[S][[;属性值=%s[S]]…] 例如:attribute1=%s;attribute2=%S 其中属性值能为’TEXT’时,表示节点的内容)", "条件值");<br>只有当条件成立时才修改。<br>6.删除节点.<br> 例:<br> myObject.DeleteNodes("节点路径", "条件类型列表(属性值=%s[S][[;属性值=%s[S]]…] 例如:attribute1=%s;attribute2=%S 其中属性值能为’TEXT’时,表示节点的内容)", "条件值");<br>//没有条件时删除全部节点路径指示的节点<br>7.得到节点的值.<br> 例:<br> CString strReture = myObject.GetSingleNodeText("节点路径", "没找到时的默认值(可以为空)");<br> CElementArray eaReture = GetNodesElement("节点路径", CElementArray对象用于接收返回内容);//返回的内容在三个地方都有保存a. eaReture,b. m_NodesElement, c. 传的参数。<br>8.得到节点的属性.<br> CString strReture = myObject.GetNodeAttribute("节点路径", "要读取的属性");//返回单个属性<br> CAttributeArray aaReture = myObject.GetNodeAttributes("节点路径");//返回全部属性<br>9. CAttributeArray部份的操作.<br> 例:<br> CAttributeArray attribute;<br> attribute.Add(ATTRIBUTE);//加入属性<br> attribute[i];//读取属性值<br> attribute["name"];//读取属性值<br> attribute.GetAt(i).Text;//读取属性值<br> attribute.GetAt(i).Name;//得到属性名<br>10.CElementArray的部分操作.<br> 例:<br> CElementArray element;<br> element.Add(ELEMENT);<br> element.GetAt(i).name;//得到节点的名字<br> element.GetAt(i).text;//得到节点的内容<br> element.GetAt(i).attribute;//得到节点的属性列表CAttribute<br>

    0
    53
    39KB
    2007-08-19
    9
  • XML操作动态库

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

    0
    138
    20KB
    2007-08-08
    31
  • CMyIni类

    访问INI文件的几个函数比较单调,本人不才将其扩冲了一下,其成员函数如下:<br> LoadFile 加载INI文件,如果为空就加载WINI文件;<br> GetErrorMessageString 得到错误代码(当有错误发生时有用);<br> WriteString 写入INI文件;<br> WriteStrings 批量定入INI文件,其中参数keyString的格式为”value=%s”,当有多个value时请用分号”;”隔开如:”value1=%s;value2=%s;vaule3=%s”,每个”%s”对应一个CString类型的变量(类似printf).<br> GetString 得到INI文件的项<br> GetInt 得到INI文件的项<br>

    3
    75
    2KB
    2007-07-29
    10
  • 验证控件

    这是一个用户数字验证控件 开发者:元杰(夏祥均) 时间:2006.10.08 申明: 本控件为本人学习时开发,版本为1.0 对于本控件对你造成的损失本人一概不负责,如有凝问或更好的 建议请与本人联系,本人非常感谢你的支持。 联系方式: MSN: [email protected] e-mail: [email protected] 控件功能: 可以随机产生4-9位的数,并以图片的形式显示给用户。同时可以 通过GetNumber方法可得到图片上的数字,以便用输入验证。 还可的用InvalidateView来刷新显示的数字 适用范围: 开发程序的用户。 使用方法: "随机数长度" : 是随机数的位数建议是4-9之间 "是否有边框" : 怎个控件是不是有边框 "背景复杂度" : 背景干扰的程度 "超时时间" : 设置一个数后,控件将在XX(输入的数)秒后启动 TimeOut事件 "背景字符串" : 背景字符串 "字体" : 显不数字的字体 元杰(夏祥均) 2006.10.08

    0
    129
    16KB
    2006-10-08
    50
  • 分享小兵

    成功上传3个资源即可获取
关注 私信
上传资源赚积分or赚钱