作者:朱金灿
来源:http://blog.csdn.net/clever101/
在TinyXml快速入门的系列文章中(详情见本博客),我只是将tinyxml类库解析xml文件的类封装为API接口。这次我决定将这些API接口对象化,并结合自定义的数据结构解析xml文件。
具体是新建一个CXmlParse类,头文件声明如下:
实现文件的代码如下:
std::map<std::string,std::string>::iterator iter;
for (iter=AttMap.begin();iter!=AttMap.end();iter++)
{
if (string(_T("AppName"))==iter->first)
{
Info.m_strAppName = iter->second;
}
else if (string(_T("company"))==iter->first)
{
Info.m_strCompanyName = iter->second;
}
else if (string(_T("url"))==iter->first)
{
Info.m_strUrl = iter->second;
}
}
return bSucc;
}
注意,上面的CXmlParse类在封装API接口操作的同时,结合一个用户自定义结构MyAppInfo来解析xml文件的内容。
简单测试:
Xml文件的内容如下:
现在我们要获取Framework节点的信息,将其填充到MyAppInfo类型的变量中,具体代码如下: