0
我經歷的職位搜索,但是這是竊聽我的: 我試圖從XML刪除重複項,只保留最新:的LINQ只選擇最新的副本
的XML結構爲:
<?xml version="1.0" encoding="utf-8"?>
<scanneditems>
<item>
<itemnumber>5701075006328</itemnumber>
<description>Item 1</description>
<timestamp>16-06-2017 10:40:39</timestamp>
</item>
<item>
<itemnumber>5701075006328</itemnumber>
<description>Item 1 duplicate</description>
<timestamp>08-06-2017 14:25:51</timestamp>
</item>
</scanneditems>
的代碼是:
XDocument xDoc = XDocument.Load(@"C:\\fixthis.xml");
var item = xDoc.Element("scanneditems")
.Elements("item")
.GroupBy(c => c.Element("itemnumber").Value)
.OrderByDescending(p => p.Elements("timestamp").ToString());
XDocument doc = new XDocument(new XElement("scanneditems", item));
doc.Save("C:\\fixedfile.xml");
問題:我如何限制每個結果複製到最新的?
我認爲你需要在默認情況下此代碼將時間戳按字母順序排序正確地排序它。然後只需撥打Distinct。 –