,,tinyxml 常用的C++ XML解析器非常优秀

,,tinyxml 常用的C++ XML解析器非常优秀

读取和设置xml配置文件是最常用的操作。我尝试了几种C XML解析器。个人感觉TinyXML用起来最舒服,因为它的API接口和Java的很像,非常面向对象。

读取和设置可扩展标记语言配置文件是最常用的操作,试用了几个C的可扩展标记语言解析器,个人感觉TinyXML是使用起来最舒服的,因为它的应用程序接口接口和Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)的十分类似,面向对象性很好。TinyXML是一个开源的解析可扩展标记语言的解析库,能够用于c,能够在Windows操作系统操作系统或Linux操作系统操作系统中编译。这个解析库的模型通过解析可扩展标记语言文件,然后在内存中生成数字正射影像图模型,从而让我们很方便的遍历这棵可扩展标记语言树100 .数字正射影像图模型即文档对象模型,是将整个文档分成多个元素(如书、章、节、段等),并利用树型结构表示这些元素之间的顺序关系以及嵌套包含关系。如下是一个可扩展标记语言片段:复制代码代码如下:Persons Person ID='1 '姓名周星星/name age 20/age/Person Person ID=' 2 ' name白晶晶/姓名年龄18岁/年龄/人/人在TinyXML中,根据可扩展标记语言的各种元素来定义了一些类:TiXmlBase:整个TinyXML模型的基类TiXmlAttribute:对应于可扩展标记语言中的元素的属性TiXmlNode:对应于数字正射影像图结构中的节点TiXmlComment:对应于可扩展标记语言中的注释tixml声明:对应于可扩展标记语言中的申明部分,即?versiong='1.0 '?TiXmlDocument:对应于可扩展标记语言的整个文档TiXmlElement:对应于可扩展标记语言的元素TiXmlText:对应于可扩展标记语言的文字部分TiXmlUnknown:对应于可扩展标记语言的未知部分TiXmlHandler:定义了针对可扩展标记语言的一些操作。TinyXML是个解析库,主要由数字正射影像图模型类(TiXmlBase、TiXmlNode、TiXmlAttribute、TiXmlComment、TiXmlDeclaration、TiXmlElement、TiXmlText、TiXmlUnknown)和操作类(TiXmlHandler)构成。它由两个头文件(.h文件)和四个卡片打印处理机(卡片打印处理器的缩写)文件(.卡片打印处理机(卡片打印处理器的缩写)文件)构成,用的时候,只要将(tinyxml.h、tinystr.h、tinystr.cpp、tinyxml.cpp、tinyxmlerror.cpp、tinyxmlparser.cpp)导入工程就可以用它的东西了。如果需要,可以将它做成自己的动态链接库来调用。举个例子就可以说明一切。 对应的可扩展标记语言文件:复制代码代码如下:Persons Person ID=' 1 '姓名phine cos/姓名年龄22/年龄/人/人读写可扩展标记语言文件的程序代码:复制代码代码如下:# include iostream # include ' tinyxml。h ' # include '小字符串。h ' # include string #包含窗口。h #包括atlstr。h使用命名空间stdCString GetAppPath() {//获取应用程序根目录TCHAR模块路径[MAX _ PATH];GetModuleFileName(NULL,modulePath,MAX _ PATH);CString strModulePath(modulePath);strModulePath=strModulePath .左(strModulePath .反向查找(_ T(' \ \ ');返回strModulePath} bool创建XML文件(字符串SZ文件名){//创建可扩展标记语言文件,szFilePath为文件保存的路径,若创建成功返回没错,否则错误尝试{ //创建一个可扩展标记语言的文档对象tixml文档*我的文档=新tixml文档();//创建一个根元素并连接tixml element * root element=new tixml element(' Persons ');我的文档-LinkEndChild(根元素);//创建一个人元素并连接tixml element * Person element=new tixml element(' Person ');根元素-LinkEndChild(person元素);//设置人元素的属性PersonElement-SetAttribute('ID ',' 1 ');//创建名字元素、年龄元素并连接tixml element * name element=new tixml element(' name ');tixml元素* age元素=新的tixml元素(' age ');person元素-LinkEndChild(name元素);person元素-LinkEndChild(年龄元素);//设置名字元素和年龄元素的内容并连接' TiXmlText * name content=new TiXmlText('周星星');TiXmlText * age content=new TiXmlText(' 22 ');name元素-LinkEndChild(名称内容);年龄元素-LinkEndChild(年龄内容);cs string app path=get app path();字符串分隔符="\";string fullPath=appPath .获取缓冲区(0)分隔符szFileNamemy文档-保存文件(完整路径。c _ str());//保存到文件} catch(字符串e) {返回false}返回true} bool读取XML文件(字符串SZ文件名){//读取可扩展标记语言文件,并遍历请尝试{ cs string app path=get app path();字符串分隔符="\";string fullPath=appPath .获取缓冲区(0)分隔符szFileName//创建一个可扩展标记语言的文档对象。

tixml文档*我的文档=新的tixml文档(完整路径。c _ str());我的文档-LoadFile();//获得根元素,即人。tixml元素*根元素=我的文档-根元素();//输出根元素名称,即输出人。cout根元素-Value()endl;//获得第一个人节点TiXmlElement * first person=根元素-第一个子元素();//获得第一个人的名字节点和年龄节点和身份证明属性TiXmlElement * name element=第一个人-第一个子元素();tixml element * age element=name element-NextSiblingElement();TiXmlAttribute * id attribute=第一个人-第一个属性();//输出第一个人的名字内容,即周星星;年龄内容,即;身份证明属性,即cout name element-first child()-Value()endl;cout age元素-第一个子元素()-Value()endl;cout id属性-值()endl} catch(字符串e) {返回false}返回true } int main(){ string fileName=' info。XML ';CreateXmlFile(文件名);ReadXmlFile(文件名);}

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • vs2015打包安装程序,vs2015程序打包,VS2022实现VC++打包生成安装文件图文详细历程
  • vc++6.0的快捷键,vc 快捷键
  • vc++6.0的快捷键,vc 快捷键,VC6.0常用快捷键大全
  • 绘制圆角矩形的方法,c++ 画矩形,C#画圆角矩形的方法
  • 懒汉式和饿汉式代码,单列模式懒汉和饿汉,C++单例模式的懒汉模式和饿汉模式详解
  • 好用的C++编译器,c++编译软件哪个好
  • semaphore c#,c++ semaphore
  • semaphore c#,c++ semaphore,C++中Semaphore内核对象用法实例
  • dev-c++使用教程,dev c++安装教程
  • dev-c++使用教程,dev c++安装教程,Dev C++ 安装及使用方法(图文教程)
  • C里面指针常量和常量指针的区别,c++指针常量和常量指针
  • C里面指针常量和常量指针的区别,c++指针常量和常量指针,简单总结C++中指针常量与常量指针的区别
  • com组件初始化失败,c#开发com组件,C++中COM组件初始化方法实例分析
  • c++静态成员变量使用,c++静态成员函数和静态成员变量
  • c++静态成员变量使用,c++静态成员函数和静态成员变量,详解c++ 静态成员变量
  • 留言与评论(共有 条评论)
       
    验证码: