一、TinyXml类简单介绍
TinyXml实现的时DOM访问模型,因此提供了一系列的类对应XML文件中的各个节点。主要类间的关系如下图所示:
TiXmlBase:其他类的基类,是个抽象类
TiXmlNode:表示一个节点,包含节点的一般方法,如访问自节点、兄弟节点、编辑自身、编辑子节电
TiXmlDocument:表示整个XML文档,不对应其中某个特定的节点。
TiXmlElement:表示元素节点,可以包含子节点和TiXmlAttribute
TiXmlComment:表示注释
TiXmlDeclaration:表示声明
TiXmlText:表示文本节点
TiXmlUnknown:表示未知节点,通常是出错了
TiXmlAttribute:表示一个元素的属性
二、TinyXml使用
TiXmlDocument doc();//创建对象
doc.LoadFile("filePath.xml");// 载入xml文档
解析xml所有节点与节点值实例:
int CParseConfig::ParseFileToMap(std::string filePath, ConfigMap & LoadData)
{
TiXmlDocument m_Dxml;
m_Dxml.LoadFile(filePath.c_str());
const TiXmlElement* root = m_Dxml.RootElement();
if(NULL == root)
{
LOG_DEBUG("Get root xml element error!");
return FUN_FAILED;
}
for( const TiXmlElement* child = root->FirstChildElement(); child; child=child->NextSiblingElement())
{
LOG_DEBUG( "key:" << child->Value() << ",value:" << child->GetText() );//输入解析数据
LoadData.insert(std::pair<std::string, std::string>(child->Value(),child->GetText() ) );
}
return FUN_NO_ERROR;
}
目前只解析配置文件。
完!
本文详细介绍了TinyXml类的结构和使用方法,包括各类之间的关系及如何利用TinyXml解析XML文件。通过解析配置文件示例,展示了如何获取XML节点信息并将其转换为映射数据。
803

被折叠的 条评论
为什么被折叠?



