2012-09-04 91 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