[Homework] XML Processing Problem 7. DOM Parser and XPath: Old Albums - Как да селектнем само необходимата ни информация?
Колеги, реших задачата по следния начин:
public static IDictionary<string, decimal> ReturnOldAlbums(XmlDocument catalogueFile)
    {
        XmlNode catalogue = catalogueFile.DocumentElement;
        int yearToSearch = DateTime.Now.Year - 5;
        string path = "/catalogue/album[year <= " + yearToSearch + "]";
        var albums = catalogue.SelectNodes(path);
        IDictionary<string, decimal> albumsPrices = new Dictionary<string, decimal>();
        foreach (XmlNode album in albums)
        {
            albumsPrices[album["name"].InnerText] = decimal.Parse(album["price"].InnerText);
        }
        return albumsPrices;
    }
Решението обаче не ми харесва. В Albums селектваме цялата информация за албумите и после в цикъла вадим имената и цените им. А ако в един албум има още 10000 неща? Има ли някакъв начин да зададем в пътя да ни върне само имената и цените на тези албуми? И ако да - като какво ще ги върне - някакъв обект, който да съдържа име и цена? Благодаря предварително!