Лучший способ использовать RSS-канал - PullRequest
9 голосов
/ 14 января 2010

В настоящее время я работаю на веб-сайте ASP.NET, где я хочу получать данные из RSS-канала. Я могу легко получить нужные данные и отобразить их, например, в элементе управления Repeater.

Моя проблема в том, что блог (Wordpress), из которого я получаю RSS, использует \n для разрывов строк, которые я явно не могу использовать в HTML. Мне нужно заменить эти \n тегом <br />.

То, что я сделал до сих пор:

SyndicationFeed myFeed = SyndicationFeed.Load(XmlReader.Create("urltofeed/"));
IEnumerable<SyndicationItem> items = myFeed.Items;
foreach(SyndicationItem item in items)
{
  Feed f = new Feed();
  f.Content = f.ConvertLineBreaks(item.Summary.Text);
  f.Title = item.Title.Text;
  feedList.Add(f);
}
rptEvents.DataSource = feedList;
rptEvents.DataBind();

Затем класс Feed с двумя свойствами: Title и Content и вспомогательный метод для замены \n на <br />

.

Однако я не уверен, что это хороший / симпатичный подход для получения данных из RSS-канала?

Заранее спасибо,

Бо

Ответы [ 4 ]

1 голос
/ 20 января 2010

Если вы не согласны со всем анализом xml в вашем коде, вы также можете запустить схему rss xml через xsd и сгенерировать тему и класс фида в своем коде.

Эти классы должны сериализоваться / десериализоваться в XML. Это может быть излишним, но для меня это отлично работает при интеграции со стандартным xml api для третьей стороны.

1 голос
/ 14 января 2010

Это как-то связано с типом RSS-канала, который вы потребляете?

http://codex.wordpress.org/WordPress_Feeds

0 голосов
/ 14 января 2010

На мой взгляд, это нормальный подход.

Помните, что RSS - это формат данных, а не HTML. Замена \ n на
для того, чтобы получить нужный HTML, это то, что нужно делать время от времени. (Если вы не хотите использовать

) 

 Я считаю, что люди слишком много вставляют html в структуры xml, не считая, что они будут использоваться для других целей, кроме веб-страниц. Пользовательский интерфейс и данные должны быть разделены. 
0 голосов
/ 14 января 2010

Если он не возвращается из RSS-канала, отформатированного по вашему желанию, у вас нет другого выбора. Это определенно не особенно плохой способ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...