【发布时间】:2011-08-21 08:49:32
【问题描述】:
对于 Windows Phone 中的 Webradio 应用程序,我正在尝试读取包含数据的 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 相关的东西,但我无法让它工作。
有没有人知道方法?
顺便说一句,我真的不知道如何在这里突出显示代码和东西,我希望它有效,否则我真的很抱歉......
【问题讨论】:
-
您使用哪种语言?
标签: c# xml linq-to-xml