C++ 使用TinyXML解析XML文件
2014-05-18 21:58
411 查看
1.介绍
读取和设置xml配置文件是最常用的操作,TinyXML是一个开源的解析XML的C++解析库,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。
下载TinyXML的网址:http://www.grinninglizard.com/tinyxml/
使用TinyXML只需要将其中的6个文件拷贝到项目中就可以直接使用了,这六个文件是:tinyxml.h、tinystr.h、tinystr.cpp、tinyxml.cpp、tinyxmlerror.cpp、tinyxmlparser.cpp。
2.读取XML文件
如读取文件a.xml:
读取代码如下:
View Code
4.重要函数或类型的说明
(1)FirstChildElement(const char* value=0):获取第一个值为value的子节点,value默认值为空,则返回第一个子节点。
(2)NextSiblingElement( const char* _value=0 ) :获得下一个(兄弟)节点。
(3)LinkEndChild(XMLHandle *handle):添加一个子节点。元素或者文本
读取和设置xml配置文件是最常用的操作,TinyXML是一个开源的解析XML的C++解析库,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。
下载TinyXML的网址:http://www.grinninglizard.com/tinyxml/
使用TinyXML只需要将其中的6个文件拷贝到项目中就可以直接使用了,这六个文件是:tinyxml.h、tinystr.h、tinystr.cpp、tinyxml.cpp、tinyxmlerror.cpp、tinyxmlparser.cpp。
2.读取XML文件
如读取文件a.xml:
<ToDo> <Item priority="1"> <bold> Book store! </bold> </Item> <Item priority="2"> book1 </Item> <Item priority="2"> book2 </Item> </ToDo>
读取代码如下:
#include "tinyxml.h" #include <iostream> #include <string> using namespace std; enum SuccessEnum {FAILURE, SUCCESS}; SuccessEnum saveXML() { TiXmlDocument doc; TiXmlElement* root = new TiXmlElement("root"); doc.LinkEndChild(root); TiXmlElement* element1 = new TiXmlElement("Element1"); root->LinkEndChild(element1); element1->SetAttribute("attribute1", "some value"); TiXmlElement* element2 = new TiXmlElement("Element2"); ///元素 root->LinkEndChild(element2); element2->SetAttribute("attribute2", "2"); element2->SetAttribute("attribute3", "3"); TiXmlElement* element3 = new TiXmlElement("Element3"); element2->LinkEndChild(element3); element3->SetAttribute("attribute4", "4"); TiXmlText* text = new TiXmlText("Some text."); ///文本 element2->LinkEndChild(text); bool success = doc.SaveFile("b.xml"); doc.Clear(); if(success) return SUCCESS; else return FAILURE; } int main(int argc, char* argv[]) { if(saveXML() == FAILURE) return 1; return 0; }
View Code
4.重要函数或类型的说明
(1)FirstChildElement(const char* value=0):获取第一个值为value的子节点,value默认值为空,则返回第一个子节点。
(2)NextSiblingElement( const char* _value=0 ) :获得下一个(兄弟)节点。
(3)LinkEndChild(XMLHandle *handle):添加一个子节点。元素或者文本
相关文章推荐
- 毕业论文中使用的XML读取和制造工具!!!C++ 使用TinyXML解析XML文件
- C++ 使用TinyXML解析XML文件
- C++ 使用TinyXML解析XML文件
- C++使用tinyxml创建和解析xml文件(本文用于cocos2dx)
- 小知识积累-C++使用tinyxml解析Xml内存泄漏问题
- c++使用tinyXml进行XML解析
- C++ 使用 TinyXml 解析 XML 文件
- C++ 使用TinyXML解析XML文件
- Cocos2d-x 3.0 使用TinyXml 解析XML文件
- Python3.5环境下使用generateDS解析xml文件生成C++头文件的方法
- 使用TinyXML进行xml文件解析,生成xml文件
- 【类库解析】一个轻量级C++ xml解释器 TinyXML的使用方法
- 使用tinyxml进行XML文件解析
- C++使用TinyXML生成和解析xml文件
- 初次使用C++解析XML文件
- Cocos2d-x] 使用TinyXml 解析XML文件
- C++解析xml(使用tinyxml)
- 【C++】使用libxml解析XML文件
- C++ 用TinyXml 解析xml文件的一次尝试
- c++ 使用 tinyxml中对XML文件进行操作