23 Ekim 2014 Perşembe

Linq to XML 3

İlk yazıda XML'i sorgulama, ikinci yazıda XML oluşturma örnekleri vardı. Bı yazıda XML'i sorguladıktan sonra başka bir veri yapısına döndürmek örnekleri olacak.

Giriş
XML nesnesi klasik Linq işlemlerinde olduğu gibi Descendants().Where().Select() şeklinde sorgulanır. Genellikle elimize geçen nesnelerin ya üzerinde dolaşırız, ya da başka bir veri yapısına çevirip saklamak isteriz.

ToArray
Bildiğimiz array döndürür. Çok basit bir örnek olarak şöyle bir kod parçası verebiliriz.
string[] values = doc.Root.Descendants().Select(x => x.Value).ToArray();

ToLookup
Multimap gibi düşünülebilir. Elimize Dictionary<string, List<string>> türünden bir veri yapısı geçer.

var lookup = doc.Descendants("Client")
                .ToLookup(x => (string) x.Element("Name"),
                          x => (string) x.Element("Value"));


Hiç yorum yok:

Yorum Gönder