C# xml删除所有值

C# xml删除所有值,c#,xml,C#,Xml,我只想删除所有xml元素值,并将名称空间保留在原始文件中。我发现一些代码可以删除值,但也可以删除名称空间。如何删除xml值 private static XElement RemoveAllNamespaces(XElement xmlDocument) { if (!xmlDocument.HasElements) { XElement xElement = new XElement(xmlDocument.Name.Local

我只想删除所有xml元素值,并将名称空间保留在原始文件中。我发现一些代码可以删除值,但也可以删除名称空间。如何删除xml值

 private static XElement RemoveAllNamespaces(XElement xmlDocument)
    {
        if (!xmlDocument.HasElements)
        {
            XElement xElement = new XElement(xmlDocument.Name.LocalName);
            xElement.Value = String.Empty;

            foreach (XAttribute attribute in xmlDocument.Attributes())
               xElement.Add(attribute);

            return xElement;
        }
        return new XElement(xmlDocument.Name.LocalName, xmlDocument.Elements().Select(el => RemoveAllNamespaces(el)));
    }

是否还要保留元素?是的,我只想删除原始文档中的xml值file@user1354345:您可以给出输入和预期输出的示例吗?您可以检查元素名称
XElement.name.LocalName.StartsWith('xmlns')
LocalName
将从元素中删除名称空间。您希望使用
xElement.Name.ToString()
在元素中保留名称空间。