最近项目读取影像数据metadata,再次用到TinyXML,已经不那么熟练。之前使用还是专题产品系统的时候,在副研师兄大框架下引用的。最近有点空,整理下相关内容,备以后查询回顾。
特性:
TinyXML是目前C++的XML解析器用起来最友好的,作为轻量开源跨平台库(可商用),对xml的文本的解析提供了很大的便利。解析库模型在解析xml文件后,在内存中将信息转化为文档对象模型(DOM)使得可读、写、存,并利用树形结构表示这些元素之间的顺序和嵌套关系。支持UTF-8编码和前64k个字符实体。
注意:不解析文档类型定义(DTDs)和可扩展样式表语言XSLs
例如下面DTD语法在TinyXML里是不做解析的1
2
3<!DOCTYPE Archiv [
<!ELEMENT Comment (#PCDATA)>
]>
所以用于浏览器或更复杂的XML需要,目前的TinyXML是不能满足的。
使用:
下载TinyXML,解压缩后,将根目录下tinyxml.h、tinyxml.cpp、tinystr.h、tinystr.cpp、tinyxmlerror.cpp、tinyxmlparser.cpp六个文件拷贝添加到将要使用的Cpp工程即可,需要操作XML文件的地方,在头文件中加入#include"tinyxml.h"
。如需要,可编译成dll(技能点加强:在tinyxml.h改相关属性来自定义特性)
操作:
(一图以蔽之,官方大法好)
类列表
TiXmlBase:整个TinyXML模型的基类。
TiXmlAttribute:XML中的元素的属性对(name-value)。
TiXmlNode:DOM结构中的节点。
TiXmlComment:XML中的注释
TiXmlDeclaration:XML中的声明部分,在开始处,即<?versiong=”1.0” ?>。
TiXmlDocument:XML的整个文档,即顶端节点。
TiXmlElement:XML的元素,为一个容器。
TiXmlText:XML的文字。
TiXmlUnknown:任何未被TinyXML识别的保存成了这个未知。
TiXmlHandler:定义了针对XML的一些操作。
代码段:
据详细的tutorial
grinninglizard.com/tinyxmldocs/tutorial0.html
不怕不会用呀,备查