Я читаю RSS-канал и привязываю его к репитеру. Я хотел бы выбрать 3 самых последних сообщения. в моем XPathExpression
я использую AddSort
Данные сортируются очень хорошо, но когда я связываюсь с ретранслятором, сортировка теряется.
Это моя первая проблема. Я использую выражение xpath [position()<=3]
для ограничения до 3 элементов. Это, однако, происходит до сортировки. Таким образом, я получу не 3 самые последние записи, а первые три из ленты, которые затем сортируются (если я правильно выполню сортировку с повторителем). Вот фрагмент кода. Любая помощь будет оценена.
Dim xpn As XPathNavigator = New XPathDocument(RssURL).CreateNavigator
_xmlnsm = XmlHelper.GetXmlNameSpaceManager(xpn)
Dim expr As XPathExpression
expr = xpn.Compile(String.Format("/rss/channel/item[position()<={0}]", numRecords))
expr.AddSort("title", XmlSortOrder.Descending, XmlCaseOrder.None, "", XmlDataType.Text)
Dim iterator As XPathNodeIterator = xpn.Select(expr.Expression, _xmlnsm)
rptNews.DataSource = iterator
rptNews.DataBind()