具有大型辅助数据源的XPathNavigator性能

时间:2013-01-07 11:16:57

标签: c# xpath xpathnavigator

我有一个辅助数据源,大约有23,000个条目。用户输入一个ID并仅返回1个数据集。 如果我使用:

XPathNavigator test = nav.SelectSingleNode("/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW[d:Title = '" + ID + "']", NamespaceManager);

返回节点大约需要8秒钟。有更好(更快)的方式吗?

1 个答案:

答案 0 :(得分:0)

您可以收集SharePointListItem_RW中的所有Dictionary个节点(将是标题ID,而将是该节点在您的应用开始时包含标题为id)。

[内存消耗不会成为问题,因为它几乎不会超过1MB]

然后,您可以使用TryGetValue

Dictionary方法选择特定节点

复杂性为O(1),这很快