如何从计算机中的文件异步检索Feed?

时间:2014-02-10 12:15:15

标签: c# xml rss windows-runtime winrt-async

我想创建一个应用程序,以便从rss Feed中显示文本框内的新闻..但问题是rss feed包含错误并且错误的xml代码。因此,Syndicationclient类无法正常使用。所以我已经让我的程序从rssfeed获取xml文本,并在应用程序的本地文件夹中的文本文件中写入rss feed ..

但问题是我不知道如何从该文件中检索Syndication供稿的源代码..这是我尝试过的代码..

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(@"http://lankadeepa.lk/index.php/maincontroller/breakingnews_rss");
        request.Method = "GET";
        var response = await request.GetResponseAsync();
        string data = string.Empty;
        using (StreamReader reader = new StreamReader(response.GetResponseStream()))
            data = await reader.ReadToEndAsync();
        textBox1.Text = data.ToString();
        textBox1.Text = textBox1.Text.Replace(@"</admin:generatoragent>", @"</admin:generatorAgent>");

        StorageFile file = await ApplicationData.Current.LocalFolder.CreateFileAsync("xmlcodes.txt", CreationCollisionOption.ReplaceExisting);
        await FileIO.WriteTextAsync(file, textBox1.Text);



        string feedpath =  file.Path.ToString();



        SyndicationClient client = new SyndicationClient();
        SyndicationFeed feed = await client.RetrieveFeedAsync(new Uri(feedpath));

        textBox1.Text = "";

        foreach (SyndicationItem item in feed.Items)
        {
            textBox1.Text += item.Title.ToString() + Environment.NewLine + item.Summary.Text.ToString() +
                Environment.NewLine + Environment.NewLine;
        }

我的代码有什么问题?或SyndicationFeed类无法从文件中检索Feed?

PS:

我不确定我是否正确纠正了Feed中的xml错误..这是Feed ... “http://lankadeepa.lk/index.php/maincontroller/breakingnews_rss

在第一行中它包含一个像这样的xml标签..

<admin:generatorAgent rdf:resource="http://www.codeigniter.com/" />

这里有数百个xml代码和

</admin:generatoragent>

我不太了解xml。但我也想知道这个...... 在XAML中,这是代码写入的方式..

<tag> </tag>

<tag /> 

没有结束标签..

但是在这个feed中它包含的第一个标签然后它也包含一个结束标签..它一定是错的。不是吗? 第一个是“generatorAgent”,第二个是“generatoragent”,字母A在第二个中被改为低位字母.xml是一个区分大小写的语言吗?

PS:这是我得到的错误..


mscorlib.dll中出现“System.IO.FileNotFoundException”类型的异常,但未在用户代码中处理

其他信息:文件名,目录名或卷标语法不正确。 (HRESULT异常:0x8007007B)


0 个答案:

没有答案