重新排序XML节点

| 我有一些看起来像这样的XML:
<root>
    <item>Banana</item>
    <item>Apple</item>
    <item>Cherry</item>
</root>
这不是我的实际数据,但在这里可以达到目的。我想做的是使用Linq to SQL对XML重新排序,以便子节点按字母顺序排列。
<root>
    <item>Apple</item>
    <item>Banana</item>
    <item>Cherry</item>
</root>
我希望能够在原始XDocument上调用
ToString()
,并使其返回第二组XML,如上所示。有没有简单的方法可以做到这一点?我曾尝试搜索,但没有运气。     
已邀请:
        也许:
var reordered = new XElement(
                    \"root\",
                    xdoc.Root.Elements(\"item\")
                             .OrderBy(x => x.Value)
                             .Select(x => new XElement(\"item\", x.Value)));
或稍微灵活一些(尽管仅支持1个嵌套级别):
var reordered = new XElement(
                    xdoc.Root.Name,
                    xdoc.Root.Elements()
                             .OrderBy(x => x.Value)
                             .Select(x => new XElement(x.Name, x.Value)));
    

要回复问题请先登录注册