static void SetDefaultNamespace(XElement element, XNamespace newXmlns) { var currentXmlns = element.GetDefaultNamespace(); if (currentXmlns == newXmlns) { return; } foreach (var descendant in element.DescendantsAndSelf() .Where(e => e.Name.Namespace == currentXmlns)) { descendant.Name = newXmlns.GetName(descendant.Name.LocalName); } }