我正在寻找一种方法来对Visual Studio创建的.settings xml文件进行排序。 setting元素应按Value元素的值排序。
我猜这对xslt来说很容易,但对我而言......长牦牛剃须。
答案 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);
}
}