C语言操作xml类使用说明

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言操作xml类使用说明
xmlparse.cpp对tinyxml重新进行了封装,利用xmlparse.cpp提供的接口可以基本满足C 语言对xml的操作,现对xmlparse.cpp类提供的接口进行详细说明。

myxmltest.cpp文件对封装的xml类函数进行了实例操作演示。

1、bool CreateXmlFile (char *filename, char *contentbuff);
/* 函数名:CreateXmlFile ()
* 功能:根据提供的文件名filename和文件内容contentbuff生成xml文件
* 返回值:成功返回true,失败返回false
* 参数说明:filename带路径的文件名,contentbuff为xml内容
*/
2、TiXmlDocument *LoadXml (char *filename, FILE *fp = NULL);
/* 函数名:LoadXml ()
* 功能:加载xml文件
* 返回值:成功返回TiXmlDocument类型指针,失败返回NULL
* 参数说明:filename带路径的文件名,fp为文件描述符
*/
3、TiXmlDocument *LoadXmlString (char *xmlstr);
/* 函数名:LoadXmlString ()
* 功能:将xml信息加载到内存
* 返回值:成功返回TiXmlDocument类型指针,失败返回NULL
* 参数说明:xmlstr保存xml信息的指针
*/
4、bool SaveXml (TiXmlDocument *doc, FILE *fp = NULL);
/* 函数名:SaveXml ()
* 功能:保存xml文件
* 返回值:成功返回true,失败返回false
* 参数说明:doc为TiXmlDocument类型指针,fp为文件描述符
*/
5、void FreeXml (TiXmlDocument *doc);
/* 函数名:FreeXml ()
* 功能:卸载xml,释放内存
* 返回值:空
* 参数说明:doc为TiXmlDocument类型指针
*/
6、bool VisitDocument (TiXmlDocument *doc, FILE *fp);
/* 函数名:VisitDocument ()
* 功能:遍历DOM节点,把xml信息输出到fp
* 返回值:成功返回true,失败返回false
* 参数说明:doc为TiXmlDocument类型指针,fp为文件描述符
*/
7、bool VisitBuffer (TiXmlDocument *doc, char *pbuf, long len);
/* 函数名:VisitBuffer ()
* 功能:遍历DOM节点,把xml信息输出到pbuf
* 返回值:成功返回true,失败返回false
* 参数说明:doc为TiXmlDocument类型指针,pbuf为指针,len为pbuf的大小
*/
8、bool DisplayXmlNode (TiXmlElement *node, int i);
/* 函数名:DisplayXmlNode ()
* 功能:打印出第i个节点
* 返回值:成功返回true,失败返回false
* 参数说明:doc为节点指针,i为节点号
*/
9、bool ParseXmlNode (TiXmlElement *node, char *nodename , char *attrname ,const char *index, char *attrvalue);
/* 函数名:ParseXmlNode ()
* 功能:根据输入的条件,查询该节点的值
* 返回值:成功返回true,失败返回false
* 参数说明:node 节点查询的开始节点,nodename 要查询节点的标识,attrname 要询节点的属性标识,index 要查询节点的属性值索引,attrvalue返回的属性值
*/
10、bool GetElementValue (TiXmlDocument *doc, char *name, char *value);
/* 函数名:GetElementValue ()
* 功能:根据节点的name,返回其text值,成功时,value为其值,否则value = NULL * 返回值:成功返回true,失败返回false
* 参数说明:doc为节点指针,name为节点名,value保存返回的值
*/
11、void GetElementAttrib (TiXmlElement *pEle, char *attrName, char *attrValue);
/* 函数名:GetElementAttrib ()
* 功能:取得节点的某个属性值
* 返回值:空,如没有此属性,则attrValue返回NULL,返回值由attrValue带出
* 参数说明:pEle为节点指针,attrName为属性名,attrValue保存返回的属性值
*/
12、TiXmlElement *GetElementNode (TiXmlElement *pEle, char *nodename, int index);
/* 函数名:GetElementNode ()
* 功能:查询某个节点第n个子节点
* 返回值:如存在则返回值节点指针,否则返回NULL
* 参数说明:pEle为节点指针,nodename为节点名,index为节点标号
*/
13、bool getElementValue(TiXmlElement *parElement,char *elementName,char *elementValue,int valueLength);
/* 函数名:getElementValue ()
* 功能:获取给定节点的某个子节点的值
* 返回值:成功返回true,失败返回false
* 参数说明:parElement为给定节点指针,elementName为节点名,elementValue保存返回的节点值,valueLength 为elementValue的大小*/
14、bool GetElementValueByEle(TiXmlElement *pSrcEle, char *value);
/* 函数名:GetElementValueByEle ()
* 功能:给定一个节点,循环取得其text值
* 返回值:成功返回true,失败返回false,value保存返回的text值
* 参数说明:pSrcEle为节点指针,value保存返回的text值
*/
15、bool CopyXml (char *destpath, char *filename);
/* 函数名:CopyXml ()
* 功能:拷贝xml文件到其他目录
* 返回值:成功返回true,失败返回false
* 参数说明:destpath为目的路径,filename为节目名
*/
16、TiXmlNode *GetRootNode (TiXmlDocument * doc);
/* 函数名:GetRootNode ()
* 功能:取DOM文档模型的root节点
* 返回值:成功返回root节点指针,失败返回NULL
* 参数说明:doc为DOM指针
*/
17、TiXmlElement * SearchNode(TiXmlElement *element,char * nodename);
/* 函数名:SearchNode ()
* 功能:根据节点的名称,查询节点,先查询子节点,再查询兄弟节点
* 返回值:成功返回查询节点指针,失败返回NULL
* 参数说明:element为查询开始节点指针,nodename为节点名
*/
18、TiXmlElement * search(TiXmlElement *element,char * nodename);
/* 函数名:search ()
* 功能:根据节点的名称,查询节点,仅从给定节点的子节点查询
* 返回值:成功返回查询节点指针,失败返回NULL
* 参数说明:element为查询开始节点指针,nodename为节点名
*/
19、bool SetTextAttribute (TiXmlDocument *doc, char *name, char *value);
/* 函数名:SetTextAttribute ()
* 功能:根据节点名设置节点text属性的值
* 返回值:成功返回true,失败返回false
* 参数说明:doc为DOM文档指针,name为节点名,value为节点值
*/
20、bool SetElementText (TiXmlElement *pElement, char *textvalue);
/* 函数名:SetElementText ()
* 功能:根据节点指针设置节点值
* 返回值:成功返回true,失败返回false
* 参数说明:pElement为节点指针,textvalue为节点值
*/
21、bool SetElementAttrib (TiXmlElement *pEle, char *attrName, char *attrValue);
/* 函数名:SetElementAttrib ()
* 功能:根据条件,设置节点某个属性的值,如不存在则添加某个属性值
* 返回值:成功返回true,失败返回false
* 参数说明:pEle为节点指针,attrName为属性名,attrValue为属性值
*/
22、TiXmlElement *InsertElementNode(TiXmlElement *pParentElement, char *nodename);
/* 函数名:InsertElementNode ()
* 功能:根据父节点指针,插入子结点
* 返回值:成功返回子结点指针,失败返回NULL
* 参数说明:pParentElement为父节点指针,nodename为子结点名
*/
23、TiXmlElement *InsertBeforeElementNode (TiXmlElement *pEle, char *nodename);
/* 函数名:InsertBeforeElementNode ()
* 功能:在给定节点前添加新节点
* 返回值:成功返回新结点指针,失败返回NULL
* 参数说明:pEle 为当前节点指针,nodename为预设结点名
*/
24、TiXmlElement *InsertAfterElementNode (TiXmlElement *pEle, char *nodename);
/* 函数名:InsertAfterElementNode ()
* 功能:在给定节点后添加新节点
* 返回值:成功返回新结点指针,失败返回NULL
* 参数说明:pEle 为当前节点指针,nodename为预设结点名
*/
25、bool DelElementNode (TiXmlElement *pEle);
/* 函数名:DelElementNode ()
* 功能:/删除节点
* 返回值:成功返回true,失败返回false
* 参数说明:pEle 为欲删除节点指针
*/
26、bool DelElementAttribute (TiXmlElement *pElement, char *attrname);
/* 函数名:DelElementAttribute ()
* 功能:/删除节点属性值
* 返回值:成功返回true,失败返回false
* 参数说明:pElement为欲删除节点指针,attrname为欲删除节点属性名
*/。

相关文档
最新文档