我試圖理清使用LINQ,但它不是在這裏工作的XML排序使用LINQ C#
<hierarchy>
<date>2015/04/01 15:29:10</date>
<folder name="Root" id="Root">
<file id="Fukui_R3_20150327182224.xlsx" />
<file id="BordersTest_20150330144902.xlsx" />
<folder name="level-1" id="1427455995512">
<file id="Fukui_R3_20150327182224.xlsx" />
<file id="BordersTest_20150330144902.xlsx" />
<folder name="Zxcf" id="1427869724768">
<file id="Fukui_R3_20150327182224.xlsx" />
<file id="BordersTest_20150330144902.xlsx" />
</folder>
<folder name="Aegh" id="1427869732372">
<file id="Fukui_R3_20150327182224.xlsx" />
<file id="BordersTest_20150330144902.xlsx" />
</folder>
<folder name="Cfgt" id="1427869741718" />
</folder>
<folder name="A-level" id="1427869672074" />
<folder name="G-Level" id="1427869682304" />
<folder name="E-Level" id="1427869690384" />
<folder name="1-A-Level" id="1427869701383" />
</folder>
</hierarchy>
這裏XML多層次的XML是我曾嘗試
XDocument xDoc = XDocument.Load(FilePath);
foreach (var trans in xDoc.Descendants("hierarchy"))
{
trans.ReplaceAll(trans.Elements().OrderBy(x=>x.Name.LocalName));
}
string newXml = xDoc.ToString();
但它返回的代碼我同樣未排序的XML。
更改後保存'xdoc'嗎? – 2015-04-01 06:34:43
不,我沒有保存它,只是看到結果爲字符串 – 2015-04-01 06:35:37
是不是已經按本地名稱排序的「層次結構」的子元素?他們的順序是「日期」,然後是「文件夾」。 – dbc 2015-04-01 06:38:36