2012-05-04 22 views
2

辞書コレクションをファイルに書き込もうとしています。辞書(コレクション)オブジェクトをファイルに書き込む方法(VB .Net 2010)

コレクションはそうのように構成されています

GlobalCollection (Collection of TestCollection) 
    (0) 
    [KEY] 
    [Value] 
    - TotalGlobal_W_Count (Integer) 
    - TotalGlobal_I_Count (Integer) 
    - TotalGlobal_F_Count (Integer) 
    TestCollection (Dictionary - Key, Value) 
     (0) 
     [KEY] 
     [Value] 
     - NumberOfTests  (Integer) 
     - TestCollectionName (String) 
     - TypesOfTests  (ArrayList) 
     ResultsCollection (Dictionary - Key, Value) 
      (0) 
      [KEY] 
      [Value] 
      - TotalFcount (Integer) 
      - TotalIcount (Integer) 
      - TotalWcount (Integer) 
      - ID  (String) 
      - TestFolderType(String) 
      - TestPassed (Boolean) 
      - FullLog (Array) 
      ResultsCollection (Dictionary - Key, Value) 
       (0) 
       [KEY] 
       [Value] 
       - LineNumber (Integer) 
       - MessageType (String) 
       - ResultString (String) 

私は階層書式設定を維持しながら、テキストファイルに上記の変数のすべてを書きたいです。 (各コレクションオブジェクトに多数の要素があることに注意してください)

ありがとう!!!

+1

あなたはXMLシリアル化に見たことがありますか? XmlSerializerクラスを確認してください。 http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx –

答えて

3

速く、XMLよりも小さい、あなたがBinaryFormaterを使用することで、... /シリアル化されたファイルを解析する予定がない場合:

Dim MyFormatter As New BinaryFormatter() 
Dim MyFile As New FileStream("Serialized.ser", FileMode.Create, FileAccess.Write, FileShare.None) 
MyFormatter.Serialize(MyFile, TheObjectIWantToSerialize) 
MyFile.Close() 
+0

上記のおかげで、悲しいことに私たちはフォーマットが必要です...しかし、素晴らしい答え。 – Destroyer

+0

はい、確かに、GameAlchemist、バイナリは非常に高速です。 (xmlはオプションだったので、私はたくさんの仕事のためにバイナリを選びました。そして、バイナリが速い方が速いのを知っていました) – wrtsvkrfm

関連する問題