9

我有这个方法:

private IEnumerable<XElement> ReadTransactions(string file_name)
    {
        using (var reader = XmlReader.Create(file_name + ".xml"))
        {
            while (reader.ReadToFollowing("transaction", "urn:namepsaceUri"))
            {
                using (var subtree = reader.ReadSubtree())
                {
                    yield return XElement.Load(subtree);
                }
            }
        }
    }

此方法从 XML 文件中读取。但是,我不需要同时使用 XML 文件中的所有节点。

我想一次弄十个。

我尝试使用 XPathSelectElements,但这会获取所有节点,然后我需要遍历它们。

那么,有没有办法从 XML 文件中获取 40-50 的节点?我想修改ReadTransactions- 有另一个输入参数(在这种情况下为 40),而不是所有元素,它只会返回 10?

4

2 回答 2

20

ElementAt怎么样

在我看来这就是你要找的

于 2017-08-12T22:02:08.367 回答
10

Skip()Take()扩展方法呢?

var items = ReadTransactions(file_name).Skip(40).Take(10);
于 2013-04-30T08:08:32.467 回答