如何计算TinyXml中的元素?

Max*_*Max 5 c++ tinyxml xml-parsing

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

这部分代码正在运行,但结果并不好.

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

计数结果为1.


Xml文件是:

<doc>
   <state> ... </state>
   <state> ... </state>
   ...
</doc>
Run Code Online (Sandbox Code Playgroud)

找不到工作实例.

Und*_*ned 10

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

for( child = parent->FirstChild(); child; child = child->NextSibling() )
    count++;
Run Code Online (Sandbox Code Playgroud)

但你可能只是想计算各州,所以我建议:

for( child = parent->FirstChild("state"); child; child = child->NextSibling("state") )
Run Code Online (Sandbox Code Playgroud)

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

TiXmlElement *parent = hDoc.RootElement();
Run Code Online (Sandbox Code Playgroud)