Almost...
A child node, by definition, can not exists without parent, so what you have to do is to move ALL child nodes of the parent to an other parent and then remove - the now empty - node...
LINQ to XML has a lot of cool methods to do such thing with ease...
One of them is
AddBeforeSelf[
^]...
XElement nodeToRemove = bla-bla-bla;
nodeToRemove.AddBeforeSelf(nodeToRemove.Elements());
nodeToRemove.Remove();