VB6からのXML操作

解決


青島  2008-01-15 23:22:28  No: 138638  IP: 192.*.*.*

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

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

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

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

編集 削除
魔界の仮面弁士  2008-01-16 01:14:46  No: 138639  IP: 192.*.*.*

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

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

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

編集 削除
青島  2008-01-17 06:57:04  No: 138640  IP: 192.*.*.*

MSXMLのことを調べました。

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

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

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

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

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

よろしくお願いします。

編集 削除
魔界の仮面弁士  2008-01-17 09:16:36  No: 138641  IP: 192.*.*.*

> 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 09:29:19  No: 138642  IP: 192.*.*.*

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

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

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

編集 削除
青島  2008-01-18 02:56:19  No: 138643  IP: 192.*.*.*

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

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

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

お騒がせしました。

編集 削除
魔界の仮面弁士  2008-01-18 04:12:52  No: 138644  IP: 192.*.*.*

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

編集 削除
いな  2008-01-18 09:20:59  No: 138645  IP: 192.*.*.*

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

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

編集 削除
青島  2008-01-26 18:08:28  No: 138646  IP: 192.*.*.*

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

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

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

編集 削除