当前位置:网站首页 > 技术博客 > 正文

tinyxml2中文指南



大家好,又见面了,我是你们的朋友全栈君。

  TinyXML是一个C++的XML解析库,网上的评价都不错,是一个轻量级的XML解析库。关于TinyXML使用的文章有很多,而且官方也有完整的文档,这里只是简单把自己使用记录写下来,方便以后查阅。

一个XML文档例子:(文章后面会把这个XML当作例子使用)

TinyXML是个解析库,主要由DOM模型类(TiXmlBase、TiXmlNode、TiXmlAttribute、TiXmlComment、TiXmlDeclaration、TiXmlElement、TiXmlText、TiXmlUnknown)和操作类(TiXmlHandler)构成。它由两个头文件(.h文件)和四个CPP文件(.cpp文件)构成,用的时候,只要将(tinyxml.h、tinystr.h、tinystr.cpp、tinyxml.cpp、tinyxmlerror.cpp、tinyxmlparser.cpp)导入工程就可以用它的东西了。如果需要,可以将它做成自己的DLL来调用。

使用的时候,只要把tinyxml.h、tinystr.h、tinystr.cpp、tinyxml.cpp、tinyxmlerror.cpp、tinyxmlparser.cpp 这六个文件导入工程,然后#include ” tinyxml.h”就可以使用。

在TinyXML中,根据XML的各种元素来定义了一些类:

TiXmlBase:整个TinyXML模型的基类。

TiXmlAttribute:对应于XML中的元素的属性。

TiXmlNode:对应于DOM结构中的节点。

TiXmlComment:对应于XML中的注释

TiXmlDeclaration:对应于XML中的申明部分,即<?versiong=”1.0″ ?>。

TiXmlDocument:对应于XML的整个文档。

TiXmlElement:对应于XML的元素。

TiXmlText:对应于XML的文字部分

TiXmlUnknown:对应于XML的未知部分。

TiXmlHandler:定义了针对XML的一些操作。

这些类都是对应XML文件的一些元素,所以最好对XML文件有一些必要的了解。

TinyXML库对字符串可以使用两种编译方式:char * 以及 string 。所以我们在Wince使用的时候需要注意宽字符的转换。

1、将一个文件加载到 TinyXML DOM 中的最简单方法:

2、创建XML文件

3、遍历整个XML文档

XML文档遍历,主要就是把DOM里面的元素、节点、节点属性全部遍历一次。

然后可以用上面的方法循环查询同一个节点下的子节点,再加上一个递归循环就可以查询所有的节点。具体代码看参考工程里面的例子。具体代码已经封装成函数。TinyXMLCtl.h头文件

我们在Wince里面大部分时候可能都是使用查询XML里面的数据,下面针对给出一个简单的查询功能,然后界面一些TinyXML里面的常用方法。

这是一个简单的遍历查询XML文档的代码,功能是遍历XML文档下根节点下的所有兄弟节点。(如果需要遍历兄弟节点下的子节点,需要加个递归调用就好)

上面最后temp字符串里面应该存放的是:Person 周星星 Person 白晶晶 。

上面只是一个简单遍历同级兄弟节点的方法,只要掌握这几个常用方法就可以自己拓展出复杂的查询方法。

下面再给出对数据常用的操作方法:增删改查 的简单例子和解析

4、修改XML节点

5、删除XML节点

节点删除,注意使用两个方法:

RemoveChild( TiXmlNode* removeThis )//方法删除父节点的子节点 RemoveAttribute( const char * name )//方法删除属性值.

5、新增XML节点

//加载文档

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/131014.html原文链接:https://javaforall.cn

版权声明


相关文章:

  • 操作系统简答题题库及答案2024-11-08 12:01:02
  • linux添加一个新的用户组2024-11-08 12:01:02
  • nn加速器gta52024-11-08 12:01:02
  • g100118b12s和g100018b12g2024-11-08 12:01:02
  • java redisson2024-11-08 12:01:02
  • 多目标优化百度百科2024-11-08 12:01:02
  • 迭代器iterator三个方法2024-11-08 12:01:02
  • pstree命令2024-11-08 12:01:02
  • xss攻击的定义2024-11-08 12:01:02
  • 大麦网爬虫抢票2024-11-08 12:01:02