如果命名空间也被定义为默认值,则强制XDocument不使用命名空间前缀

我有一个xml文件,默认命名空间使用和不使用名称空间前缀。 当我生成xml输出时,我得到所有xml元素前缀。 有没有办法摆脱前缀,因为我使用默认命名空间?

class Program { static void Main(string[] args) { var xml = "" + " " + " " + ""; var document = XDocument.Parse(xml); var output = document.ToString(); } } 

输出:

     

我期待的是:

     

不幸的是,我无法删除重复的名称空间声明。 我正在使用的实际xml文件是由另一方提供的,我需要做尽可能少的修改。

您可以使用String.Replace方法获取所需的XML格式…

 var xml ="" + " " + " " + ""; var document = XDocument.Parse(xml); var output = document.ToString().Replace("key:", string.Empty);