• ベストアンサー

VB6でXMLを処理するには

.NETでXMLを処理する文献などは多数あるようですが、VB6では探してもほとんどないようです。 VB6でXMLを処理するにあたって、最適な文献やサイトはないでしょうか。 具体的には、XMLのファイルを読み込んで、その中に書かれているデータを取り出したいと考えています。書き出しは今のところ不要です。

質問者が選んだベストアンサー

  • ベストアンサー
  • perse
  • ベストアンサー率74% (113/152)
回答No.2

一応動いたので載せときます。 参照設定から[Microsoft XML, v2.6]を追加します。 XML(ファイル名p.xml)------------------------------------------------ <?xml version="1.0" encoding="Shift_JIS"?> <ROOT> <TARGET INDEX="t1">VB6でXMLの読み込み</TARGET> <TARGET INDEX="t2">成功しました</TARGET> </ROOT> VB6フォームロード--------------------------------------------------- Private Sub Form_Load() Dim XMLDocument As MSXML2.DOMDocument Dim xmlRootNode As IXMLDOMNode Dim xmlTarget As IXMLDOMElement Set XMLDocument = New MSXML2.DOMDocument XMLDocument.async = False XMLDocument.Load (App.Path & "\p.xml") '例1----------------------------------------------- Set xmlRootNode = XMLDocument.childNodes.Item(1) Debug.Print xmlRootNode.childNodes(0).Text Debug.Print xmlRootNode.childNodes(1).Text '例2------------------------------------------------ '(検索するときなんかに) Set xmlTarget = XMLDocument.selectSingleNode("//TARGET[@INDEX='t2']") Debug.Print xmlTarget.childNodes(0).Text '終了処理------------------------------------------- If Not XMLDocument Is Nothing Then Set XMLDocument = Nothing If Not xmlRootNode Is Nothing Then Set xmlRootNode = Nothing If Not xmlTarget Is Nothing Then Set xmlTarget = Nothing End Sub

namun
質問者

お礼

プログラムまで作成していただきありがとうございました。特に検索のところが役立ちました。 とても親切にしていただき本当に感謝しています。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

CreateObject("Microsoft.XMLDOM") でDOMオブジェクトを使えば良いです。 以下のサイトにリファレンスとサンプルが載ってます。 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/d051f7c5-e882-42e8-a5b6-d1ce67af275c.asp 具体的に、どのようなXMLデータからどれをどう抜き出したいというように補足してくれれば、サンプルを書くこともできると思いますが・・

namun
質問者

お礼

英語だったのでやはり難しかったです。 参考になる本を見つけたので一応ここに書いておきます。 「VBとASPでつくるXML」ピアソン・エデュケーション社の本です。VBのプログラムの実例が載っていました。まだよく読んでいませんが役立ちそうです。

namun
質問者

補足

早速ありがとうございます。 文献は英語なんですね・・・(^^;)。 やはり日本語で解説しているのはほとんどないのですね。 サンプル書いていただけるのであれば大変嬉しいのですが、とりあえず自分でもう少し勉強してみます。他に参考文献などあれば知りたいので他の方の回答も待ってみます。