YouTube | Facebook | X(Twitter) | RSS

XML ストリームへの保存・読み込み方法

2016/9/1 (木)

Public m_pXMLString As String
 
'===== オブジェクトをXMLにシリアライズ =====
Public Sub WriteXML()
  ' ポイントの作成
  Dim pPoint As IPoint
  Set pPoint = New Point
  pPoint.PutCoords 139.74, 35.66
   
  Dim pXMLStream As IXMLStream
  Set pXMLStream = New XMLStream
   
  Dim pStream As IStream
  Set pStream = pXMLStream
   
  Dim pXMLWriter As IXMLWriter
  Set pXMLWriter = New XMLWriter
  pXMLWriter.WriteTo pStream
   
  'ポイント・オブジェクトをXMLにシリアライズ
  Dim pXMLSerializer As IXMLSerializer
  Set pXMLSerializer = New XMLSerializer
  pXMLSerializer.WriteObject pXMLWriter, Nothing, Nothing, "", "", pPoint
   
  ' モジュール変数にXMLを格納
  m_pXMLString = pXMLStream.SaveToString
   
  ' XMLをメッセージボックスに表示
'  MsgBox m_pXMLString
  Debug.Print m_pXMLString
   
  pXMLStream.SaveToFile "D:\test.xml"
End Sub
 
'===== XMLからオブジェクトにデシリアライズ =====
Public Sub ReadXML()
  ' モジュール変数のXMLを読み込み
  Dim pXMLStream As IXMLStream
  Set pXMLStream = New XMLStream
  pXMLStream.LoadFromString m_pXMLString
  pXMLStream.LoadFromString obj
   
  Dim pStream As IStream
  Set pStream = pXMLStream
   
  Dim pXMLReader As IXMLReader
  Set pXMLReader = New XMLReader
  pXMLReader.ReadFrom pStream
   
  Dim pXMLSerializer As IXMLSerializer
  Set pXMLSerializer = New XMLSerializer
   
  ' XMLからポイント・オブジェクトにデシリアライズ
  Dim pPoint As IPoint
  Set pPoint = pXMLSerializer.ReadObject(pXMLReader, Nothing, Nothing)
   
  ' ポイント・オブジェクトが持つXY座標をメッセージボックスに表示
  MsgBox "X座標 = " & pPoint.X & ", Y座標 = " & pPoint.Y
End Sub
 
'ArcコミュニティNo.069 より引用
  • この記事を書いた人

羽田 康祐

伊達と酔狂のGISエンジニア。GIS上級技術者、Esri認定インストラクター、CompTIA CTT+ Classroom Trainer、潜水士、PADIダイブマスター、四アマ。WordPress は 2.1 からのユーザーで歴だけは長い。 代表著書『"地図リテラシー入門―地図の正しい読み方・描き方がわかる』 GIS を使った自己紹介はこちら。ESRIジャパン(株)所属、元青山学院大学非常勤講師を兼務。日本地図学会第31期常任委員。発言は個人の見解です。

-プログラミング, ArcGIS
-,