一つ質問があります。Windows Phone 7 リストボックスで xml ノードを順序付けするためのコードを見つけました。
using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication())
{
using (IsolatedStorageFileStream isoStream = new IsolatedStorageFileStream("P*****.xml", FileMode.Open, isoStore))
{
XDocument loadedCustomData = XDocument.Load(isoStream);
var filteredData = from c in loadedCustomData.Descendants("person")
orderby (string)c.Attribute("name")
select new Person()
{
Name = c.Attribute("name").Value,
Beneficiary = c.Attribute("beneficiary").Value,
Price = c.Attribute("price").Value,
Deadline = c.Attribute("deadline").Value,
Index = c.Attribute("index").Value,
Description = c.Attribute("description").Value,
Status = c.Attribute("status").Value
};
listBox.ItemsSource = filteredData;
}
}
しかし、それはAからZへのような順序付けに対してのみ機能します。しかし、データを逆に順序付けするにはどうすればよいですか(ZからA名へ)。私はこのようなものを見つけました:
var people = data.Elements("person").OrderBy(p => (string)p.Attribute("Age"));
そしてそれを次のように変更しました:
var people = data.Elements("person").OrderBy(p <= (string)p.Attribute("Age"));
しかし、エラーがあります:
メソッド 'System.Linq.Enumerable.OrderBy(System.Collections.Generic.IEnumerable, System.Func)' の型引数は、使用法から推測できません。型引数を明示的に指定してみてください。
したがって、この方法は意味がないと思います。とにかく、XML の逆順について何か考えはありますか?