/*
* 功 能:从资源中加载XML文件
* 参 数:uiResID - XML文件在资源中的ID
* sResType - XML文件在资源中资源类型
* xmlDoc - 用于加载XML内容的TiXmlDocument对象
* 返回值:是否成功
*/
BOOL LoadXMLResource(IN UINT uiResID, IN const CString& sResType,
OUT TiXmlDocument& xmlDoc)
{
CString sResourceID(_T(""));
sResourceID.Format(_T("#%u"), uiResID);
HRSRC hFindRes = FindResource(NULL, sResourceID, sResType);
if (NULL == hFindRes)
{
ATLASSERT(hFindRes);
return FALSE;
}
HGLOBAL hLoadRes = ::LoadResource(NULL, hFindRes);
if (NULL == hLoadRes)
{
return FALSE;
}
LPBYTE pLoadedRes = (LPBYTE)LockResource(hLoadRes);
if (NULL == pLoadedRes)
{
FreeResource(hLoadRes);
return FALSE;
}
xmlDoc.Parse((PSTR)pLoadedRes, 0, TIXML_DEFAULT_ENCODING);
FreeResource(hLoadRes);
return TRUE;
}
使用TinyXML解析资源中的XML
最新推荐文章于 2024-02-16 13:55:33 发布