Помощь с C#

программирование C++ C# xml Visual Stido

Почему-то не срабатывает такой код...

XDocument songs = XDocument.Parse(e.Result);

vklist.ItemsSource = from tracks in songs.Descendants("audio")
select new getsong
{
title = tracks.Element("title").Value,
artist = tracks.Element("artist").Value

};

Вот здесь получаемый xml http://vk.com/developers.php?oid=-1&p=audio.get
Уже голову себе сломал

Примечание:
PetSetAl, "vkmd.page1+getsong" и так пять раз вот, что имею на выходе.
не срабатывает почему-то именно songs.Descendants("audio")
хотя songs.Element("audio) исправно выводит первое встречное <audio> со всем его содержимым.
Descendants должен обработать сразу все <audio> верно? что бы я мог достать из них нужные мне значения <title> и <artist>

Примечание:
PetSerAl, Огромное Вам спасибо! Вы гений!! Переопределение метода tostring действительно помогло!!
И спасибо за информацию про Elements, на досуге обязательно изучу.
Спасибо!
Ответы:
Как именно он не срабатывает? Ошибки времени компиляции/исполнения? Результат отличается от ожидаемого? Как Вы локализовали ошибку, что ошибка именно в этом куске кода, а не в другом?
А есть инициализацыя?
А в каком виде getsong должен быть? Список, массив, массив строк или чо?
Заделайте по вот этому шаблону http://www.codeproject.com/Articles/169598/Parse-XML-Documents-by-XMLDocument-and-XDocument я вот вижу что похожая ситуацыя но вижу что в Вашем коде не хватает некоторых фишек :)
>"vkmd.page1+getsong" и так пять раз вот, что имею на выходе.
А метод ToString() у класса getsong переопределён? Реализации ToString() унаследованная от System.Object просто возвращает имя типа.
>Descendants должен обработать сразу все <audio> верно?
Верно. Но Descendants вернёт все потомки, включая непрямые. Что как минимум даёт лишний расход ресурсов, если непрямых потомков нет. Разумнее будет использовать Elements.


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.