Ancora non mi è chiaro il motivo per cui devi portare i nodi dall'xml in un grafo o in una treeview (l'unico che mi venga in mente è un editor XML), comunque il modo più semplice e facile per attraversare un XML usando API DOM è una procedura ricorsiva (dal momento che un documento XML ha una struttura ad albero.)

Una cosa del genere insomma (consideralo pseudo codice anche se non lo è)
codice:
void check_nodes(const Node& nd) {
	if (nd.hasChildNodes()) {
		NodeList ndlist = nd.getChildNodes();
		for (long sz=0; sz<ndlist.getLength(); ++sz) {
			Node znd = ndlist.getItem(sz);
			wcout << znd.getNodeType()<< endl;
			check_nodes(znd);
		}
	}
}
Poi per impostare le relazioni all'interno della struttura di destinazione, occorre vedere cosa usi e se ci sono funzioni per effettuare queste relazioni.
Io mi limito alle funzioni delle librerie XML i cui nodi sanno sempre di chi sono figli o padri.