2012-11-05 60 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()方法只得到節點的名稱。