- ベストアンサー
VBでXMLを扱えるコントロールはありますか
VBでXMLを扱えるコントロールがあるかどうか探しています。 VBでXMLの情報を拾って表示したいのですが、それを可能とするコントロールがあるのか、あればその方法を教えていただきたいです。 また、上記に関連した書籍などがありましたら教えてください。
- みんなの回答 (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)
最初に、質問と答えがずれてたら、すいません。 コントロールというか、コンポーネントなのですが 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 ご参考までに・・・