对Visual Studio .settings文件进行排序

时间:2014-01-22 10:17:01

标签: xml visual-studio xslt

我正在寻找一种方法来对Visual Studio创建的.settings xml文件进行排序。 setting元素应按Value元素的值排序。

我猜这对xslt来说很容易,但对我而言......长牦牛剃须。

1 个答案:

答案 0 :(得分:0)

这不是xslt,只是快速而肮脏的C#

internal class Program
{
    private static void Main(string[] args)
    {
        string path = args[0];

        XDocument xDoc = XDocument.Load(path);
        XNamespace xmlns = "http://schemas.microsoft.com/VisualStudio/2004/01/settings";

        XElement settingsElement = xDoc.Root.Element(xmlns + "Settings");

        var orderedSettingElements = settingsElement.Elements(xmlns + "Setting").OrderBy(element => element.Element(xmlns + "Value").Value).ToArray();

        settingsElement.RemoveAll();

        foreach (XElement settingElement in orderedSettingElements)
        {
            settingsElement.Add(settingElement);
        }

        xDoc.Save(path);
    }
}