本文详细讲解了C++使用TinyXML解析XML的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
1.介绍
Tinyxml的官方网址:http://www.grinninglizard.com
官方介绍文档:http://www.grinninglizard.com/tinyxmldocs/tutorial0.html
在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来调用。
注意,TiXmlBase 是TiXmlNode的基类,TiXmlNode是TiXmlElement、TiXmlComment、TiXmlText、TiXmlDeclaration、TiXmlUnknown、TiXmlDocument的基类。
2.TinyXML配置
在stdafx.h头文件中增加头文件引用#include "tinyxml/tinyxml.h"
在工程设置中加入lib引用库
在stdafx.h中加入动态库引用
3.TinyXML读取和保存文件
3.1 读取xml文件
3.2 读取xml参数
3.3 保存xml参数到文本
3.4 保存xml参数到临时变量
4.TinyXML增删改查
4.1 增
创建一个如1中的xml文件代码
在节点最后插入新节点
在节点后 前/后 插入新节点
4.2 删
删除某个节点, TiXmlNode是TiXmlElement、TiXmlComment、TiXmlText、TiXmlDeclaration、TiXmlUnknown、TiXmlDocument的基类
从A节点上移除子节点B
从元素A上移除名字为B的属性
4.3 改
查找内容为<mfid val="1234" />,现需要将1234改成其他值
替换一个节点
4.4 查
获取link节点
获取link节点中的type属性值
遍历节点
遍历元素属性
节点的下一个兄弟节点
元素的下一个元素
属性的下一个属性
返回值为NULL表示不存在
5.一个完整例子
到此这篇关于C++使用TinyXML解析XML的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程学习网。