VB6からのXML操作

解決


青島  2008-01-16 08:22:28  No: 138638

VB6からXMLを作成したり、XMLを読み込んだり、XMLに書き込んだり
したいと思っています。

初心者なのですが、どのやり方が良いのか分かりません。

msxml.dllを使うためにはインストールが必要みたいですし。

アドバイスをお願いします。


魔界の仮面弁士  2008-01-16 10:14:46  No: 138639

> 初心者なのですが、どのやり方が良いのか分かりません。
MSXML だと思いますよ、まずは。

> msxml.dllを使うためにはインストールが必要みたいですし。
MSXML6等は別として、MSXML1〜MSXML3あたりなら、大抵はIEと共に
配置されているはずなので追加インストールは不要かと。

それに、もし上位バージョンの DLL が必要だとしても、そもそも
どの OS を使うにしても、VB6 ランタイムのインストールは必要に
なるわけですし、配布の手間はさほど変わらないかと思いますよ。


青島  2008-01-17 15:57:04  No: 138640

MSXMLのことを調べました。

参照設定からXMLv5を設定できました。

もう一つ判らないことがあって。
質問させてください。

getElementsByTagNameで属性が指定できるみたいですが、
その下の属性とかどう指定すれば良いのでしょうか?

参照の仕方が今一分かりません。

どこかのサイトのサンプルだけでも教えて頂けないでしょうか?

よろしくお願いします。


魔界の仮面弁士  2008-01-17 18:16:36  No: 138641

> getElementsByTagNameで属性が指定できるみたいですが、
?あれ?
指定できるのは、要素ノード名であって、
属性ノード名では無かったはずですが…。

一応、
  doc.loadXML "<a b='c'><d e='f'/>g<h>i</h></a>"
  Set list = doc.getElementsByTagName("*")
などのように、* を指定して、全ての要素(a, d, h)を
得ることはできますが、属性(b, e)を指定する機能は無かったかと。

> その下の属性とかどう指定すれば良いのでしょうか?
意味が良く分かりません。
属性の下の属性とは、具体的にはどういった物なのでしょうか?


いな  2008-01-17 18:29:19  No: 138642

>参照設定からXMLv5を設定できました。

少し気になったので、
MSXMLV5ってOFFICE2003に付帯するバージョンであったような気がしますが
配布の際、その辺りはクリアされていますか?

http://support.microsoft.com/kb/269238/ja


青島  2008-01-18 11:56:19  No: 138643

XMLv5のバージョンは調べましたが、大丈夫みたいです。

それと、質問内容に誤りがありました。
申し訳ございません。

要素が入れ子になっている階層が深い、属性の値を
取りたいということでした。

お騒がせしました。


魔界の仮面弁士  2008-01-18 13:12:52  No: 138644

階層が深いなら、SelectSingleNode(あるいは SelectNodes)を使って、
XPath 式で指定するのが、便利で良いかと。


いな  2008-01-18 18:20:59  No: 138645

>XMLv5のバージョンは調べましたが、大丈夫みたいです。

了解です。数ヶ月前の私は、大丈夫でなかったので
杞憂でよかったです。


青島  2008-01-27 03:08:28  No: 138646

いろいろありがとうございます。

SelectSingleNodeを使ったサンプルが、過去にこちらの掲示板で
投稿されていたみたいなので、それをもとに頑張ってみます。

ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加