2012-09-04 59 views
0

假设我有一组国家(超过100个)。每个国家都可以有很多州。每个州将在文件系统中有一个xml文件。我必须根据像xml文件中存在的国家,州或任何ID参数来搜索这些XML文件。在文件系统如何从文件系统读取大量的XML文件

XML文件结构:

<Country code="in"> 
    <States Name="Delhi"> 
     <Subscriptions> 
       <Subscription Id="100" Code="ABC"> 
         ... 
         </Subscription> 
         <Subscription Id="101" Code="XYZ"> 
         ... 
         </Subscription> 
      </Subscriptions> 
     </States> 
</Country> 

文件结构(国家目录 - >文件夹状态 - > Subscription.xml文件):

US -> California-> Subscription.xml 
US -> Alaska-> Subscription.xml 
In -> Delhi -> Subscription.xml 
In -> Tamil Nadu -> Subscription.xml 

。 。 。

例如:如果用户搜索id = 100,我必须查看每个国家文件夹......在每个Subscription.xml文件中的每个国家文件夹中...如果存在或不存在具有100的ID。

请分享你对这个如何使用C#实现搜索功能的想法。

+0

到目前为止你做了什么?对我而言,这只能以一种方式实现,循环遍历所有文件夹中的所有文件,然后从文件中提取所需的数据。 –

+0

这对于某些数据库来说可能是一个很好的用例,也许是NoSQL的一个... –

+0

@BasileStarynkevitch或者甚至可能是MSSQL数据库,它们与EF以及查询关系数据的工作相当好。 – Jodrell

回答

3

如果数据不会改变,您可以将它全部加载到内存中的对象图中并自己执行搜索。如果有100个国家,每个国家有100个国家,每个国家有100个订阅,只有总共1000000个对象不应该太繁重。

如果您要支持对数据的更改,那么您将需要某种数据库。

如果您希望执行的搜索具有灵活性,或者稍后您可能需要调整模式,我会再次提示数据库。

+0

+1,把它放在一个数据库中。 – tomfanning