如何只读取.XML的一小部分

时间:2014-05-02 14:53:22

标签: c# asp.net xml

我构建了一个应用程序来读取文件,但即使我的连接很快,页面也需要几秒钟才能加载,我想知道如何只读取这个{{3 }}

string rssURL = "http://www.cnt.org.br/Paginas/feed.aspx?t=n";
System.Net.WebRequest myRequest = System.Net.WebRequest.Create(rssURL);
System.Net.WebResponse myResponse = myRequest.GetResponse();
System.IO.Stream rssStream = myResponse.GetResponseStream();
System.Xml.XmlDocument rssDoc = new System.Xml.XmlDocument();
rssDoc.Load(rssStream);
System.Xml.XmlNodeList rssItems = rssDoc.SelectNodes("rss/channel/item");

韩国社交协会..

2 个答案:

答案 0 :(得分:2)

正如前面提到的那样,你无法下载部分网页请求。但是您可以在请求完成之前开始解析Xml。对于您的用例,使用XmlDocument是错误的方法,因为它需要完整的请求来创建对象。尝试使用XmlTextReader。

答案 1 :(得分:1)

没有简单的方法来下载部分网络请求并确保它是您想要的。一种解决方法是使用Google Feed API

您必须使用JSON interface因为他们没有为C#提供图书馆,但是因为它通过Google的服务器会更快。您必须稍微修改一下代码,因为它默认返回JSON而不是XML,但这是一个微不足道的改变。您还可以更改参数output=xml以检索数据的XML表示。

尝试转到this page,即同一个Feed,使用更少的元素和更快的负载。这只会返回一些元素,但如果你想要10个元素,那么你所要做的就是将num=10添加到URL中。例如,this url有10个元素。请多阅读API文档,看看您可以添加哪些变量来满足您的要求。