rss feed от linq - PullRequest
       16

rss feed от linq

1 голос
/ 17 декабря 2009

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

Dim rssUrl As String = "http://webclip.in/rss.aspx?u=mostliked"
Dim rssDoc As XDocument = XDocument.Load(rssUrl)
Dim rssResultSet = From node In rssDoc.Descendants("item") _
                   Select New With { _
                   .title = node.Element("title").Value, _
                   .link = node.Element("link").Value, _
                   .description = node.Element("description").Value, _
                   .pubDate = Date.Parse(node.Element("pubdate").Value) _
}

DataGridView1.DataSource = rssResultSet

Ответы [ 2 ]

1 голос
/ 19 февраля 2010

Два вопроса здесь ... Во-первых, вы должны исправить эту строку:

.pubDate = Date.Parse(node.Element("pubDate").Value)

PubDate - это чувствительный к регистру узел в XML. Во-вторых, ваш источник данных никогда не будет работать, потому что LINQ - это ленивые вычисления. Вы должны использовать ToList () или аналогичный метод, который перечисляет вашу коллекцию. Если вы выполните отладку в Visual Studio 2010, вы увидите, что rssResultSet не имеет значения, поскольку оно перечисляется только тогда, когда ваш код требует его. Заменить на это:

DataGridView1.DataSource = rssResultSet.ToList()

Мой последний совет - настроить DataGrid на AutoGenerate его столбцов.

0 голосов
/ 03 февраля 2010

корпус на pubdate неверен. Это должно быть "pubDate". в противном случае работает нормально.

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