从RSS源下载图片时遇到麻烦
本文关键字:遇到 麻烦 RSS 下载 | 更新日期: 2023-09-27 18:11:31
我遇到了麻烦,拿出正确的代码从RSS源下载图片,然后把下载交给RadControls幻灯片视图或分页。
我使用的代码唯一能得到的是图片的文本或只是图片的缩略图,而不是完整的图像。我一定是漏掉了什么或者漏掉了什么。
这是为Windows Phone c#编写的
RSS提要的web链接是用于测试目的的通用链接。
//Constructor
public MainPage()
{
InitializeComponent();
}
private void FlickrSearch_Click(object sender, RoutedEventArgs e)
{
WebClient webclient = new WebClient();
webclient.DownloadStringCompleted += new DownloadStringCompletedEventHandler
(webclient_DownloadStringCompleted);
}
void webclient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error != null)
{
MessageBox.Show("error");
}
// parsing Flickr
XElement XmlTweet = XElement.Parse(e.Result);
XNamespace ns = "http://api.flickr.com/services/feeds/photos_public.gne?tag="; // flilckr
listBox1.ItemsSource =
from tweet in XmlTweet.Descendants("item")
select new FlickrData
{
ImageSource = tweet.Element(ns + "thumbnail").Attribute("url").Value,
Message = tweet.Element("description").Value,
UserName = tweet.Element("title").Value,
PubDate = DateTime.Parse(tweet.Element("pubDate").Value)
};
}
我已经找到了你解析的方式&获取内部数据是错误的。我仔细验证了来自Flickr的XML数据,并相应地修改了逻辑。
下面是完整的代码:void webclient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error != null)
{
MessageBox.Show("error");
}
// parsing Flickr
XElement XmlTweet = XElement.Parse(e.Result);
string ns = "http://www.w3.org/2005/Atom";
XName entry = XName.Get("entry", ns);
XName loc = XName.Get("loc", ns);
XName title = XName.Get("title", ns);
XName published = XName.Get("published", ns);
XName link = XName.Get("link", ns);
XName content = XName.Get("content", ns);
XName url = XName.Get("url", ns);
listBox1.ItemsSource =
from tweet in XmlTweet.Elements(entry)
select new FlickrData
{
ImageSource = tweet.Element(link).Attribute("href").Value,
Message = tweet.Element(content).Value,
UserName = tweet.Element(title).Value,
PubDate = DateTime.Parse(tweet.Element(published).Value)
};
}