我正在更新使用legacy TinyXml库的代码,而不是使用new TinyXML-2版本。
编辑时,我注意到TiXmlNode::FirstChild(const char *)
中的TinyXML-2函数无法直接替换。
我的问题是:
// TiXmlElement *element; // assume this was correctly loaded
TiXmlNode *node;
if ((node = element->FirstChild("example")) != nullptr)
{
for (TiXmlElement *walk = node->FirstChildElement();
walk != nullptr;
walk = walk->NextSiblingElement())
{
// ...
}
}
答案 0 :(得分:1)
tinyxml2有
const XMLElement * XMLNode::FirstChildElement (const char *value=0) const
您的代码块大致相同:
if (auto example = element -> FirstChildElement ("example")
{
for (auto walk = example -> FirstChildElement();
walk;
walk -> NextSiblingElement())
{
// walk the walk
}
}
或者您可以查看与您的代码段相关的my add-on for tinyxml2:
for (auto walk : selection (element, "example/")
{
// walk the walk
}