VB6 リファレンス お品書き へ戻ります
Visual Basic6 リファレンス


VB6 XMLファイル操作編
XMLファイルに関する操作

XMLファイルからデータを取得します。

[参照設定]
Microsoft XML, v4.0 (msxml4.dll)

お品書き
● Q&A指定のタグ内の値を取得したい


●指定のタグ内の値を取得したいのですが。

【 Q 】 以下のタグで、SERIALNOの値と、PRICEの値を取得したいのですが。

  <PRODUCTINFO>
  <SERIALNO>120145</SERIALNO>
  <PRICE>500</PRICE>
  <NET>350</NET>
  </PRODUCTINFO>

【 A 】 こんな感じです。

  '[参照設定] Microsoft XML, v4.0
  Dim xmlDoc As New MSXML2.DOMDocument40
  Dim currNode As IXMLDOMNode
  Dim myErr

  Dim XMLFileName As String 'XMLファイル名
  XMLFileName = "c:¥sample¥TEST.XML"

  '値を取得したいタグのパス
  Const PATH_SERIALNO = "//PRODUCTINFO/SERIALNO"
  Const PATH_PRICE    = "//PRODUCTINFO/PRICE"

  Dim mySerialNo '<SERIALNO>タグの値
  Dim myPrice    '<PRICE>タグの値

  xmlDoc.async = False
  xmlDoc.resolveExternals = False

  xmlDoc.Load XMLFileName 'XMLファイルをロード
  If (xmlDoc.parseError.errorCode <> 0) Then 'ロード失敗
     Set myErr = xmlDoc.parseError
     MsgBox myErr.reason

  Else
     xmlDoc.setProperty "SelectionLanguage", "XPath"
     Set currNode = xmlDoc.selectSingleNode(PATH_SERIALNO)
     mySerialNo = currNode.Text 'SERIALNOの値を抽出

     Set currNode = xmlDoc.selectSingleNode(PATH_PRICE)
     myPrice = currNode.Text    'PRICEの値を抽出
  End If

【 実行結果 】
変数名
mySerialNo120145
myPrice500