プロが教える店舗&オフィスのセキュリティ対策術

VBでXMLを扱えるコントロールがあるかどうか探しています。

VBでXMLの情報を拾って表示したいのですが、それを可能とするコントロールがあるのか、あればその方法を教えていただきたいです。

また、上記に関連した書籍などがありましたら教えてください。

A 回答 (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ここまで~
    • good
    • 0

最初に、質問と答えがずれてたら、すいません。


コントロールというか、コンポーネントなのですが

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/ …



下にパーサーのダウンロードサイトをリンクします。
ここのDeveloper'sガイドやSDKを参考にするとよいかと・・・(でも英語・・・)

http://msdn.microsoft.com/library/en-us/xmlsdk/h …

ご参考までに・・・

参考URL:http://www.microsoft.com/japan/msdn/xml/download …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!