Agreed; using .Insert() (or Push() each to a Stack<XmlNode> and Pop() it
afterwards, using .Append()).
Note, however, that this approach will not guarantee a usable path; for
instance, it doesn't distingusish between siblings, and doesn't allow for
namespaces, attribs, etc.
If you want this type of functionality, often a better approach is to have
an ID attribute or similar, so that you can uniquely reference the elements.
Marc