如何计算TinyXml中的元素?

时间:2012-03-01 00:40:42

标签: c++ xml-parsing tinyxml

我认为问题是使用函数或其他错误。

这部分代码正在运行,但效果并不理想。

TiXmlElement* e = hDoc.FirstChildElement().Element(); // think problem is there
while (e)
{
    e = e->NextSiblingElement();  //or may be there
    count++;
}

计数结果为1。


Xml文件是:

<doc>
   <state> ... </state>
   <state> ... </state>
   ...
</doc>

无法找到工作示例。

1 个答案:

答案 0 :(得分:10)

如果您阅读documentation,您可以找到以下示例(看起来比您的方法更整洁):

for( child = parent->FirstChild(); child; child = child->NextSibling() )
    count++;

但你可能只是试图统计各州,所以我建议:

for( child = parent->FirstChild("state"); child; child = child->NextSibling("state") )

你可能也想要这样的东西:

TiXmlElement *parent = hDoc.RootElement();