本文整理汇总了C++中XMLDocument::AsNode方法的典型用法代码示例。如果您正苦于以下问题:C++ XMLDocument::AsNode方法的具体用法?C++ XMLDocument::AsNode怎么用?C++ XMLDocument::AsNode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XMLDocument
的用法示例。
在下文中一共展示了XMLDocument::AsNode方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LoadSet
bool Localization::LoadSet(const std::string& name)
{
const std::string path = name + "_" + App::GetLanguageSymbol() + ".translations.xml";
XMLDocument doc;
if (!doc.Load(path))
{
Log::Error("Failed to load localization set from " + path);
return false;
}
XMLNode* translationsNode = doc.AsNode()->GetFirstNode("translations");
if (!translationsNode)
{
Log::Error("Failed to find 'translationSet' node in " + path);
return false;
}
// Load groups
for (XMLNode* groupNode = XMLNode_GetFirstNode(translationsNode, "group"); groupNode; groupNode = XMLNode_GetNext(groupNode, "group"))
{
const std::string groupName = XMLNode_GetAttributeValue(groupNode, "name");
// Load translations
for (XMLNode* translationNode = XMLNode_GetFirstNode(groupNode, "translation"); translationNode; translationNode = XMLNode_GetNext(translationNode, "translation"))
{
const std::string translationName = XMLNode_GetAttributeValue(translationNode, "name");
const char* value = XMLNode_GetAttributeValue(translationNode, "value");
const std::string fullName = name + "." + groupName + "." + translationName;
g_strings[fullName] = value;
}
}
return true;
}