2016-03-04 2 views
0

Я немного нового в ASP.NET так, пожалуйста, медведь со мной ...Как получить ссылку с Atom корма с использованием SyndicationFeed и ограничение числа пунктов

Я пытаюсь читать и отображать фид Atom от сайт WordPress.

воровство в Интернете, я был в состоянии собрать следующий код в CodeBehind:

XmlReader reader = XmlReader.Create(myURL); 
SyndicationFeed feed = SyndicationFeed.Load(reader); 

foreach (var item in feed.Items) 
{ 

    Response.Write(item.PublishDate.ToString("yyyy-MM-dd hh:mm tt")); 
    Response.Write("<br/>"); 
    Response.Write(item.Title.Text); 

} 

reader.Close(); 

Это отлично работает для отображения даты и времени. Теперь вот вопросы, мне нужно решить:

1) Получение Link ....

Глядя на SyndicationFeed размещения на MSDN я могу видеть, есть свойство ссылки, но я не могу выяснить, как я могу получить <link> из фида. Кто-нибудь знает, как это получить?

2) Ограничение количества продукции ...

Прямо сейчас, с foreach() он отображает каждую запись в кормах. Любые идеи, как я могу ограничить это, показать только новейшее число x?

Могу ли я сделать что-то вроде ...

while (var item in feed.Items < 5) 
{ 

    Response.Write(item.PublishDate.ToString("yyyy-MM-dd hh:mm tt")); 
    Response.Write("<br/>"); 
    Response.Write(item.Title.Text); 

} 

ответ

0
  • Любые идеи, как я могу ограничить его только показать новейший х номер?
  • извлекая коллекцию SyndicationLink

Вы могли бы (улучшить, по мере необходимости/нулевых чеков и т.д.):

//Newest by date/time and take x (e.g. 5) 
foreach (var item in feed.Items.OrderByDescending(i => i.PublishDate).Take(5)) 
{ 
    //Get the Uris from SyndicationLink 
    var theLinks = item.Links.Select(l => l.Uri.ToString()).ToList(); 

    //do something with them.... 
    var foo = string.Join(",", theLinks); 

    .... 
} 

НТН ....

+0

отлично работает! Спасибо! – omairkha

Смежные вопросы