wiki:オブジェクトとシリアライズ可能なXMLクラス

Version 1 (modified by dai, 18 years ago) ( diff )

--

(別件でXML読み書きが必要になってきたことがあったんで、メモッときます)

こんな使い方ができたら、とても便利かも。 TypeInfoクラスの実装でこのようなアプローチも可能にしたいところ。

Dim obj As Object
' objに対して何らかの処理を行う
...

' objを保存する
SaveObject( obj )

' objを復旧する
RestoreObject( obj )

Sub SaveObject( ByRef Const obj As Object )
    ' ファイル生成
    Dim stream As FileStream( "C:\obj.xml", FileMode.Create )

    ' XMLで書き出し
    Dim serializer As XmlSerializer( stream, obj )

    ' ファイルクローズ
    stream.Close()
End Sub

Sub RestoreObject( ByRef obj As Object )
    Dim serializer As XmlSerializer( GetType( Object ) )

    ' ファイルオープン
    Dim stream As FileStream( "C:\obj.xml", FileMode.Open )

    ' オブジェクトを復元
    obj = serializer.Deserialize( stream )

    ' ファイルクローズ
    stream.Close()
End Sub

参考URL:
http://www.atmarkit.co.jp/fdotnet/easyxml/easyxml09/easyxml09_01.html

Note: See TracWiki for help on using the wiki.