1
最新のタイムスタンプ(属性として保存されている)で要素を選択し、存在する可能性がある要素をすべて削除します。内部XML.Linqを使用してXML文書から古くなった要素を削除する
(ディレクトリ、名とファイル名は、この体を含む方法にフィールドおよび/またはパラメータです)
using (FileStream fileStream = new FileStream(Path.Combine(directory, fileName), FileMode.OpenOrCreate))
{
XElement xmlRoot = XElement.Load(fileStream);
var query = from e in xmlRoot.Elements("key")
where e.Attribute("name")?.Value == name
orderby Int32.Parse(e.Attribute("timestamp")?.Value) descending select e;
if(query.Count() == 1)
{
return query.First();
}
else if (query.Count() > 1)
{
//here I need to delete any other than First (which has
//the latest timestamp, and return first, just like above)
}
else
{
}
}
具体的には、私はどんな時代遅れの要素(小さいタイムスタンプを持つもの)を削除する方法を知りたいですif (query.Count() > 1)
節。 LINQはいつも私に少し迷っています。申し訳ありませんが質問が簡単な場合。
PS:この問題の具体的な計算名を知っている人は、自分の質問を編集して名前を変更し、必要に応じて改名することをお勧めします。私は素人です。
感謝を!それがうまくいくとは想像もできませんでした。 – FinnTheHuman
@FinnTheHuman、よろしいですか;) – octavioccl