Для приложения Webradio в Windows Phone я пытаюсь прочитать XML-файл с данными, но у меня проблема с конкретным полем. Файл XML выглядит следующим образом:
<brands xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<brandgroup>
<brand>
<code>blabla</code>
<name>blabla</name>
<logo>blabla</logo>
<websiteurl>blabla</websiteurl>
<audiostreams>
<audiostream streamurl="www.1.mp3" codec="mp3" streamrate="low"/>
<audiostream streamurl="www.2.mp3" codec="mp3" streamrate="med" default="true"/>
<audiostream streamurl="www.3.mp3" codec="mp3" streamrate="high"/>
</audiostreams>
</brand>
<brand>
</brand>
</brandgroup>
other 'brandgroups' with other 'brand'
</brand>
С помощью следующего кода я могу получить имя, код и веб-сайт и объект Class Station для каждого бренда в каждой группе брендов.
XDocument loadedData = XDocument.Load("netten.xml");
var data = from query in loadedData.Descendants("brand")
select new Station
{
Name = (string)query.Element("name"),
Code = (int)query.Element("code"),
Website = (string)query.Element("websiteurl"),
};
Однако я не могу найти способ получить аудиопоток. Элемент audiostreams имеет 3 дочерних элемента audiostream, где мне нужен streamurl.
Лучше всего было бы хранить 3 потока, чтобы потом можно было изменить качество. Тогда мне нужно иметь поле в Class Station:
String[] streamurls = {www.1.mp3, www.2.mp3, www.3.mp3};
и сохраните там 3 потока, чтобы выбрать их позже. Я пробовал кое-что опубликованное здесь, связанное с XML, Attribute и XElement, но не могу заставить его работать.
Есть ли кто-нибудь, кто знает способ?
Кстати, я не совсем понимаю, как здесь выделить код и прочее, надеюсь, это работает, иначе мне очень жаль ...