2012-11-05 58 views
1

此问题与check for variable number of sibling nodes & different siblings in Rapidxml略有不同。在大多数例子我已经在网上我看到硬编码键上找到,例如:沿rapid.xml节点导航

xml_node<>* root = doc.first_node("rootnode"); 

这里的“根节点”是硬编码。我的情况稍有不同,因为解析和标记已经由rapidxml完成​​了。我需要通过遍历节点及其兄弟而不知道硬编码名称和节点深度来了解解析器读取的名称。我正在寻找关于rapidxml树的某种递归导航的建议/解决方案。

谢谢。

回答

2

根据RapidXml的文档(see here),first_node()方法中的节点名称参数是可选的。你可以省略该参数,你会得到的第一个孩子节点,无论其名称:

xml_node<>* root = doc.first_node(); 

然后你就可以通过调用其name()方法只得到节点的名称。