【vc++精品源码栏目提醒】:网学会员鉴于大家对vc++精品源码十分关注,论文会员在此为大家搜集整理了“【精品】TinyXML入门教程 - 技术总结”一文,供大家参考学习
TinyXML入门教程收藏TinyXML入门教程文章分类:C编程TinyXML入门教程什么是XML1文档类2创建文档对象3输出文档对象3保存文档对象4返回第一个根元素5声明类5注释类6元素类6节点名6父节点6子节点7编辑子节点7同级节点7遍历元素8元素属性8元素函数总结9属性类10文章下载
源代码下载什么是XMLXML全称EXtensibleMarkupLanguage翻译为可扩展标记语言简而言之就是你可以自定义数据的标识以此来区分各种不同的数据以便于进行数据交换例如html就可以理解为一种简单的xml语言。
XML文件通常就是一个文本文件可以使用任何编码上图就是我
系统中一个xml文件的图标使用VC2005打开它你可以看到如下内容XML也是有这几个对象组成了一般来说我们经常使用的类如下lTiXmlDocument文档类它代表了整个xml文件。
lTiXmlDeclaration声明类它表示文件的声明部分如上图所示。
lTiXmlComment注释类它表示文件的注释部分如上图所示。
lTiXmlElement元素类它是文件的主要部分并且支持嵌套结构一般使用这种结构来分类的存储信息它可以包含属性类和文本类如上图所示。
nTiXmlAttribute/TiXmlAttributeSet元素属性它一般嵌套在元素中用于记录此元素的一些属性如上图所示。
nTiXmlText文本对象它嵌套在某个元素内部如上图所示。
TinyXml使用文档对象模型DOM来解析xml文件这种模型的处理方式为在分析时一次性的将整个XML文档进行分析并在内存中形成对应的树结构同时向用户提供一系列的接口来访问和编辑该树结构。
这种方式占用内存大但可以给用户提供一个面向对象的访问接口对用户更为友好非常方便用户使用。
下面我们依次来介绍各个类的用法。
文档类文档类代表一个XML文档通过它你可以保存载入和打印输出文档。
你可以通过以下方式载入xml文档到TiXmlDocument。
创建文档对象l创建一个空的文档对象然后载入一个xml文档使用到的函数原形如下TiXmlDocumentboolLoadFileconststd::stringampfilename在程序中你可以如下使用//载入xml文档TiXmlDocumentdocdoc.LoadFilequottutorial.xmlquotl2、在构造函数中传入文档的名称然后调用load函数完成解析载入使用到的函数原形如下TiXmlDocumentconststd::stringampdocumentNameboolLoadFile在程序中你可以如下使用//载入xml文档TiXmlDocumentdocquottutorial.xmlquotdoc.LoadFile输出
文档对象
文档类提供了Print函数用于在控制台输出当前的文档内容这个函数的原形如下voidPrintconst在程序中你可以如下使用//载入xml文档TiXmlDocumentdocquottutorial.xmlquotdoc.LoadFiledoc.Print//输出文档tutorial.
xml的内容如下ltxmlversionquot1.0quotstandalonequotyesquotencodingquotutf-8quotgtlt--comment注释--gtltelementattributequotthisaattribute这是一个属性quotintquot1quotfloatquot3.14quotgtltsubelement1gtThisatext这是一个文本lt/subelement1gtltsubelement2/gtltsubelement3/gtltsubelement4/gtlt/elementgt在控制台中你可以得到如下输出由于文件使用UTF-8编码而Windows下的控制台默认使用gb2312编码因此会生成乱码。
保存文档对象当然你也可以使用SaveFile函数来进行另存为这个函数的原形如下boolSaveFileconststd::stringampfilenameconst在程序中你可以如下使用//载入xml文档TiXmlDocumentdocquottutorial.xmlquotdoc.LoadFiledoc.Print//输出文档coutltltendldoc.SaveFilequottutorial.txtquot使用记事本打开tutorial.txt你可以看到如下内容。
返回第一个根元素另外文档对象还提供了一个实用的函数用于返回第一个根对象它可以让你方便的遍历整个文档结构查找自己需要的数据。
函数原形如下TiXmlElementRootElement我们在介绍元素类的时候再详细介绍它的使用。
声明类在标准的XML文件中声明为文件的第一项例如ltxmlversionquot1.0quotstandalonequotyesquotgt声明对象具有三个属性值版本编码和独立文件声明一般来说文档的第一行就是声明对象你可以把文档对象的第一个子节点转换为声明对象。
//使用TinyXml的声明对象TiXmlDeclarationdecldecldoc.FirstChild-gtToDeclaration然后就可以使用它的功能了它可以让你返回当前的版本编码等信息函数原形如下constcharVersionconstconstcharEncodingconstconstcharStandaloneconst在
程序中你可以如下使用//使用TinyXml的声明对象TiXmlDeclarationdecldecldoc.FirstChild-gtToDeclarationcoutltltquot使用TinyXml的声明对象TiXmlDeclarationquotltltendl//输出声明对象对应的xml内容decl-gtPrint04ampstrcoutltltstrltl