读取和设置
xml
配置文件是最常用的操作,试用了几个
C++
的
XML
解析器,个人感觉
TinyXML
是使用起来最舒服的,因为它的
API
接口和
Java
的十分类似,面向对象性很好。
TinyXML
是一个开源的解析
XML
的解析库,能够用于
C++
,能够在
Windows
或
Linux
中编译。这个解析库的模型通过解析
XML
文件,然后在内存中生成
DOM
模型,从而让我们很方便的遍历这棵
XML
树。
DOM
模型即文档对象模型,是将整个文档分成多个元素(如书、章、节、段等),并利用树型结构表示这些元素之间的顺序关系以及嵌套包含关系。
如下是一个XML片段:











在
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
的一些操作。
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
来调用。举个例子就可以说明一切。。。
对应的XML文件:







读写
XML
文件的程序代码:

























































































