public void Iterate(MyNodeItem node)
{
string s= node.Text;
foreach(MyNodeItem item in node.MyNodeItems)
Iterate(item);
}
This is just a classic case of how to recurse. If you need to know the parent node, just pass two nodes in, and for the second one, null is the root, otherwise it's the parent.