• ベストアンサー

VBでXMLを扱えるコントロールはありますか

VBでXMLを扱えるコントロールがあるかどうか探しています。 VBでXMLの情報を拾って表示したいのですが、それを可能とするコントロールがあるのか、あればその方法を教えていただきたいです。 また、上記に関連した書籍などがありましたら教えてください。

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

  • ベストアンサー
  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.2

使用目的/環境/データサンプルがないので、勝手にnode的扱いをするものだとして、サンプルを作りました。 サンプルデータは極めてシンプルな物にしてあります。 子ノードが深くまである場合は、サンプル内部のlengthプロパティを毎回読み込み、再帰法を利用して、nodeを追う必要があります。 以下サンプル [C:\hoge.xml]を以下のようにします。 ~XMLここから~ <?xml version="1.0" encoding="Shift_JIS"?> <Data> <要素1>値です</要素1> <要素1>値でした</要素1> </Data> ~XMLここまで~ 参照設定で[Microsoft XML,v3.0(2.6などでも可)] を指定します。 ~VBここから~   Dim xmlDoc  As MSXML2.DOMDocument30   Dim xmlRoot As MSXML2.IXMLDOMElement   Dim i      As Integer      Set xmlDoc = New MSXML2.DOMDocument30   With xmlDoc     .async = False     .Load "c:\hoge.xml"     Set xmlRoot = .documentElement   End With      With xmlRoot.childNodes     For i = 0 To .length - 1       Debug.Print .Item(i).nodeName,       Debug.Print .Item(i).Text     Next i   End With      Set xmlRoot = Nothing   Set xmlDoc = Nothing ~VBここまで~

その他の回答 (1)

  • k_kazari
  • ベストアンサー率68% (15/22)
回答No.1

最初に、質問と答えがずれてたら、すいません。 コントロールというか、コンポーネントなのですが MS-XMLパーサーに含まれるDOMというオブジェクトで XML文書の内容を登録・更新・参照・削除することができます。 DBなどのSQL文は、XPATHで代用できます。 現在利用している開発環境にもよりますが 参照設定で、利用できるようになると思います。 最新版は MSXML4.0SP1みたいです。<今までパーサーと呼ばれていたもの あと、DOM以外に、 イベントドリブン型のコンポーネントで SAXというのがあります。 で、書籍なんかのサンプルだと DOMを利用した例が多いと思います。 参考書籍は、多分WEB用のものばかり(vbscript/jscript) だと思います。 VB6でもVBScriptは走ることは走ると思いますが・・・ (参照設定でスクリプトエンジンにチェック入れたら) でも、ほとんど、VBScriptの記述ならVBでもいけるので (XML文書にデータ突っ込むメソッドとか、ちょこっと記述がちがったような) WEBでXMLを利用するサイトを参照したらよいと思います。 http://www.microsoft.com/japan/msdn/webservices/default.aspx 下にパーサーのダウンロードサイトをリンクします。 ここのDeveloper'sガイドやSDKを参考にするとよいかと・・・(でも英語・・・) http://msdn.microsoft.com/library/en-us/xmlsdk/htm/dom_reference_2kdh.asp?frame=true ご参考までに・・・

参考URL:
http://www.microsoft.com/japan/msdn/xml/downloads/msxml4.asp

関連するQ&A