目录
一、tinyxml2是什么
简而言之,TinyXML-2解析XML文档,并以此为基础构建可读取,修改和保存的文档对象模型(DOM)。
XML代表“可扩展标记语言”。描述任意数据是一种通用的人类和机器可读标记语言。为存储应用程序数据而创建的所有那些随机文件格式都可以全部替换为XML。一个解析器可以处理所有事情。
有多种访问和与XML数据交互的方式。TinyXML-2使用文档对象模型(Document Object Model,DOM),这意味着XML数据被解析为C ++对象,可以对其进行浏览和操作,然后将其写入磁盘或其他输出流。您还可以使用C ++对象从头开始构建XML文档,并将其写入磁盘或其他输出流。您甚至可以使用TinyXML-2从代码中以编程方式流化XML,而无需先创建文档。
TinyXML-2被设计为易于学习和快速学习。它是一个标头和一个cpp文件。只需将这些添加到您的项目中就可以了。有一个示例文件xmltest.cpp可以帮助您入门。
TinyXML-2是在ZLib许可下发布的,因此您可以在开源或商业代码中使用它。许可证的详细信息位于每个源文件的顶部。
TinyXML-2试图成为一个灵活的解析器,但具有真正正确且合规的XML输出。TinyXML-2应该在任何合理的C ++兼容系统上编译。它不依赖于异常,RTTI或STL。
以上摘自GitHub中tinyxml2项目的ReadMe,链接:https://github.com/leethomason/tinyxml2/
二、使用tinyxml2能干什么
1、创建xml文件
<?xml version="1.0" encoding="utf-8"?>
<-- This is a Comment --!>
<note>
<to>George</to>
<from city="Beijing" >John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
使用 tinyxml2,你可以创建如上代码段的可扩展标记语言文件,你可以将配置信息,网页抓取的信息,商品价格信息,压缩数据信息等内存数据转换为xml文件储存在硬盘中,以满足各类的开发需要。
文件开头的 “ <?xml version="1.0" encoding="utf-8"?> ” 称之为 Declare(声明);往下依次为文件各层级的元素(Element),最外层的元素又称之根元素(Root Element),每个xml文件中有且只有一个根元素;每个元素中都可以包含属性(Attritube)和文本(Text),例如 “ <from city="Beijing" >John</from> ” 中的city就是from元素的一个属性,属性可以为空,数量不设上限,John则是该元素中的文本;用 “<-- --!>” 包裹起来的内容称为注释(Comment),如 ‘’ <-- This is a Comment --!> ‘’ 的注释为 This is a Comment。