使用XDocument删除空元素

时间:2014-07-02 04:48:57

标签: c# xml linq

最初使用System.Xml.Linq dll版本3.5.0.0我删除了空元素,如下所示

XDocument document = XDocument.Load(_fileName);                      
document.Descendants().Where(e => string.IsNullOrEmpty(e.Value)).Remove();
document.Save(_fileName, SaveOptions.DisableFormatting);

现在我的System.Xml.Linq dll版本是4.0.0.0,但上面的代码无效,因为我看不到Where子句。

任何人都可以帮助我如何重写代码删除4.0.0.0中的空元素

1 个答案:

答案 0 :(得分:6)

试试这个,

        var document = XDocument.Parse(original);
        document.Descendants()
       .Where(a=> a.IsEmpty || String.IsNullOrWhiteSpace(a.Value))
       .Remove();

此外,您应该拥有以下命名空间

using System.Linq;
using System.Xml.Linq;