从xml文档中跳过元素

时间:2012-12-31 11:56:24

标签: windows-phone-7 linq-to-xml

我有一个xml文档,我想在其中提取每10个元素。我用这段代码提取最后10个元素,然后跳过10个元素并获得更旧的元素,我使用了这个代码,但是它通过滑动最后10个元素替换旧的第一个列表,另一个包含最旧的10个,我想要的是什么是获取最后10个元素,当用户按下按钮时,他将获得旧列表和其他10个旧元素:

slideView.ItemsSource = 
    (from channel in xmlItems.Descendants("album")     
     orderby (int)channel.Element("catid") descending 
     select new onair
     {
         title = (string)channel.Element("name"),
         photo = (string)channel.Element("picture")
     }).Skip(10).Take(10);

任何想法都可以吗?

1 个答案:

答案 0 :(得分:0)

到目前为止,您只需要在Linq中创建一些分页(根据您的情况调整此代码)

    public IEnumerable<onair> GetItems(int pageIndex = 0, int pageSize = 10)
    {
        return (from channel in xmlItems.Descendants("album")
                orderby (int)channel.Element("catid") descending
                select new onair
                {
                    title = (string)channel.Element("name"),
                    photo = (string)channel.Element("picture")
                }).Skip(pageIndex * pageSize).Take(pageSize);
    }
...

slideView.ItemsSource = GetItems(2,10):