我想从下面的URL中获取类似艺术家的名字,并将它们显示在listBox中。
http://ws.audioscrobbler.com/2.0/?method=artist.getsimilar&artist=的 ARTISTNAMEHERE &安培; API_KEY = ff1629a695c346cc4b2dd1c41fcd4054
到目前为止,除了其他人的问题,我已经阅读了XML文件:
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
WebClient wc = new WebClient();
wc.DownloadStringCompleted += HttpCompleted;
wc.DownloadStringAsync(new Uri("http://ws.audioscrobbler.com/2.0/?method=artist.getsimilar&artist=ARTISTNAMEHERE&api_key=ff1629a695c346cc4b2dd1c41fcd4054"));
}
private void HttpCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error == null)
{
XDocument xdoc = XDocument.Parse(e.Result, LoadOptions.None);
// do something with the XDocument here
}
}
正如我之前所说,我想从该页面获取艺术家名称,这是每个名称节点并在listBox中显示它们。我该怎么做呢?
答案 0 :(得分:0)
这应该这样做:
XElement artists = xdoc.Root.Element("similarartists");
if (artists != null)
{
IEnumerable<string> names = artists
.Elements("artist")
.Select(el => el.Element("name").Value);
}
它使用System.Xml.Linq
命名空间中的方法,这些方法用于使用LINQ检索XML数据。