すべての 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)));
}