I am reading an rss feed and I am binding it to a repeater. I would like to select the 3 most recent posts. in my XPathExpression
I use AddSort
The data are sorted just fine but when I bind to the repeater the sort is lost.
That is my first issue. I am using xpath expression [position()<=3]
to limit to 3 items. This, however, occurs prior to the sort. So, I would not be getting the 3 most recent records but rather the first three from the feed which are then sorted (if I get the sorting working properly with the repeater). Here is a code snippet. Any help would be appreciated.
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()