现代的程序开发,难免会需要去解析一些静态数据。xml作为静态数据存储的一种常见方式,如何拿c/c++来解析,就成为了一个重要的话题。
查阅了不少资料后,先决定试试tinyXml。因为它的风格,我更喜欢一些。
下面简单的介绍一下如何使用。
假设test.xml这么设计
<class>
<number in_use="1">233</number>
<grade>1</grade>
</class>
1. 首先定义一个xml的文件对象: TiXmlDocument doc;
2. 然后开始加载文件: doc.LoadFile("test.xml")
3. 获得根节点, TiXmlElement* root = doc.FirstChildElement();
4. 获得根节点级别下的第一个节点(因为平时的跟节点通常是这么设计的, 用来说明这个文档所描述的对象)
在例子里就是number: TiXmlElement* elem = root->FirstChildElement();
5. 如果要访问grade节点,也就是说访问number的兄弟节点,那么就是 TiXmlElement elem2 = elem->NextSiblingElement();
非常简单直白
6. 如果要访问其中的属性呢,比如说number里的属性in_use的值, 那么就是elem->Attribute("in_use");
7. 如果想获得“233”这个值,就用elem->GetText();
至此对于基本的tinyxml解析已经够用了。后面有机会再深入其他的函数功能.