1

TV チャンネル用のアプリを開発しようとしています。XML ファイルがあり、それを解析しました。今の問題は、それをフィルタリングしたいということです。XML ファイルは次のとおりです。

http://top-channel.tv/rss/videofeed.xml

それらをカテゴリ別にフィルタリングしたいのですが、あるページではカテゴリ 3、5、6 をフィルタリングし、別のページではカテゴリ 25、99 などをフィルタリングしたいと考えています。私はこれを使用しています:

ボタンをクリックしてhttp://youtube.com/whatch?v= + LajmeVideo.icon にあるアイコンで Web ページを開くと。これはすべて私のソースコードです

namespace Top_Channel
{
    public partial class Video : PhoneApplicationPage
    {
        public Video()
        {
            InitializeComponent();

            grdLoading.Visibility = Visibility.Visible;
            progressBar.IsIndeterminate = true;

            WebClient webclient = new WebClient();
            webclient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(webclient_DownloadStringCompleted);
            webclient.DownloadStringAsync(new Uri("http://top-channel.tv/rss/videofeed.xml"));
        }

        void webclient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
        {

            if (e.Error != null)
            {
                MessageBoxResult m = MessageBox.Show("Ju lutem verifikoni qe te keni internet ne telefonin tuaj", "Ska Internet", MessageBoxButton.OK);

            }

            XDocument doc = XDocument.Parse(e.Result);
            var videos = doc.Descendants().Where(x => x.Name == "video");
            List<LajmeVideo> lajmes = new List<LajmeVideo>();
            foreach (var item in videos)
            {
                var category = item.Descendants().Where(x => x.Name == "category").FirstOrDefault();
                var title = item.Descendants().Where(x => x.Name == "title").FirstOrDefault();
                var icon = item.Descendants().Where(x => x.Name == "youtubeid").FirstOrDefault();
                if (category.Value == "25" || category.Value == "99")
                {
                    lajmes.Add(new LajmeVideo()
                    {
                        kategoria = category.Value,
                        title = title.Value,
                        icon = icon.Value,
                    });
                }
                lajme_video.ItemsSource = lajmes;
                var uri = new Uri("http://www.youtube.com/watch?v=" + item.Descendants().Where(x => x.Name == "youtubeid").FirstOrDefault().Value);
            }

            progressBar.IsIndeterminate = false;
            grdLoading.Visibility = Visibility.Collapsed;
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            WebBrowserTask webBrowserTask = new WebBrowserTask();
            webBrowserTask.Uri = new Uri("http://www.youtube.com/watch?v=My2FRPA3Gf8", UriKind.Absolute);
            webBrowserTask.Show();
        }
    }
}
4

1 に答える 1