С LinqToXml Я хотел бы зачитать список альбомов для данного художника из файла XML, какЧтения внутреннего списка с LinqToXml
<?xml version="1.0" encoding="utf-8" ?> <artists> <artist name="Beatles"> <albums> <album title="Please Please Me" year="1963"/> <album title="With the Beatles" year="1963"/> ... </albums> </artist> ...
Я попытался следующим с LinqToXml. Тем не менее, я хотел бы, чтобы избежать создания экземпляра объекта художника ...
XDocument xartists = XDocument.Load(FilePhysicalPath); var artists = from xartist in xartists.Descendants("artist") where xartist.Attribute("name").Value.Equals(id) select new MusicArtist { Albums = from xalbum in xartist.Descendants("album") select new MusicAlbum { Title = xalbum.Attribute("title").Value, Year = int.Parse(xalbum.Attribute("year").Value) } }; var artist = artists.SingleOrDefault(); if (artist != null) return artist.Albums; else return null;
Update: Мой текущий «лучший» попытка: Смотрите принятый ответ.
Спасибо за приятный и полезный ответ. –