static void ReadData(NodeReference node) { try { node.AppendSubscript(""); string subscr = node.NextSubscript(); while (!subscr.Equals("")) { node.SetSubscript(node.GetSubscriptCount(), subscr); if (node.HasData()) { Console.Write(" ".PadLeft(node.GetSubscriptCount() * 4, '-') + subscr + " -> "); GetData(node); } if (node.HasSubnodes()) { ReadData(node); } subscr = node.NextSubscript(); } } catch (GlobalsException ex) { Console.WriteLine(ex.Message); } finally { node.SetSubscriptCount(node.GetSubscriptCount() - 1); } }