我有以下的測試XML排序個XML或屬性
<?xml version="1.0" encoding="UTF-8"?>
<!--This file is generated by the program.-->
<Deals>
<Deal ID="1">
<Preisformular>
<Preisbindung>a</Preisbindung>
<Factor>5</Factor>
<Date>1-1-2014</Date>
</Preisformular>
</Deal>
<Deal ID="2">
<Preisformular>
<Preisbindung>b</Preisbindung>
<Factor>10</Factor>
<Date>30-12-2013</Date>
</Preisformular>
</Deal>
</Deals>
我想要做的就是解決這XML e.g通過Preisbindung。我用這個
XElement root = XElement.Load("test.xml")
var ordered = root.Elements("Deal").Elements("Preisformular")
.OrderByDescending(x => (string)x.Element("Preisbindung"))
.ToArray();
root.RemoveAll();
foreach (XElement tab in ordered)
root.Add(tab);
root.Save("test.xml");
但結果是我採取更新的XML文件是
<?xml version="1.0" encoding="UTF-8"?>
-<Deals>
-<Preisformular>
<Preisbindung>b</Preisbindung>
<Factor>10</Factor>
<Date>30-12-2013</Date>
</Preisformular>
-<Preisformular>
<Preisbindung>a</Preisbindung>
<Factor>5</Factor>
<Date>1-1-2014</Date>
</Preisformular>
</Deals>
我知道,這個問題是來自.RemoveAll(); 。任何想法如何保持原始結構,但與排序的元素(或屬性)?
編輯
我的預期輸出是
<?xml version="1.0" encoding="UTF-8"?>
<Deals>
<Deal ID="2">
<Preisformular>
<Preisbindung>b</Preisbindung>
<Factor>10</Factor>
<Date>30-12-2013</Date>
</Preisformular>
</Deal>
<Deal ID="1">
<Preisformular>
<Preisbindung>a</Preisbindung>
<Factor>5</Factor>
<Date>1-1-2014</Date>
</Preisformular>
</Deal>
</Deals>
這很難張貼有效的XML?我不喜歡在問題中修復codes/xmls/jsons .....我的時間和你一樣有價值。 (順便說一句:你的預期輸出是什麼?) –
XML是有效的,並由數據庫產生 – amigo
沒有那些''不屬於你的XML。很可能你使用IE瀏覽器來查看你的xml。 –