我有一些XML文件,但有一个问题。我的XML"树"没看一眼。我的意思是一旦它看起来像:
<one>
<two>
<three></three>
</two>
<four>
<five>
<six></six>
</five>
<seven></seven>
</four>
</one>
但第二次看起来会有所不同。 有没有办法用TinyXML迭代整个文件和cout如:
三:文字
六:文字
七:文字
我看到像&#34这样的例子;我必须按照他的名字搜索元素&#34;,但如果我不知道名字,解决方案是什么?
我问,因为我已经编写了这样做的程序,但只是像NextSiblingElement()一样,就像第一个孩子,第一个孩子一样,当它转到&#34;父母的最后一个孩子&# 34;然后检查那个孩子是否有兄弟,然后停止。所以想象一下这个例子:它来自&#34;一个&#34;到&#34;两个&#34;来自&#34;两个&#34;到&#34;三&#34; &#34;三个没有孩子,所以检查它是否有兄弟。没有?然后停下来,不会去四,五等等。我的错误在哪里?
TiXmlNode* element = doc.FirstChildElement();
TiXmlNode* element_parent = doc.FirstChildElement();
element = element_parent;
while (element != NULL) {
std::cout << element->Value() << std::endl;
if (element->FirstChildElement() == NULL) {
element = element->NextSibling();
}
else {
element = element->FirstChildElement();
}
if (element == NULL) {
element = element_parent->NextSibling();
element_parent = element_parent->NextSibling();
}
}