VB6からXMLを作成したり、XMLを読み込んだり、XMLに書き込んだり
したいと思っています。
初心者なのですが、どのやり方が良いのか分かりません。
msxml.dllを使うためにはインストールが必要みたいですし。
アドバイスをお願いします。
> 初心者なのですが、どのやり方が良いのか分かりません。
MSXML だと思いますよ、まずは。
> msxml.dllを使うためにはインストールが必要みたいですし。
MSXML6等は別として、MSXML1〜MSXML3あたりなら、大抵はIEと共に
配置されているはずなので追加インストールは不要かと。
それに、もし上位バージョンの DLL が必要だとしても、そもそも
どの OS を使うにしても、VB6 ランタイムのインストールは必要に
なるわけですし、配布の手間はさほど変わらないかと思いますよ。
MSXMLのことを調べました。
参照設定からXMLv5を設定できました。
もう一つ判らないことがあって。
質問させてください。
getElementsByTagNameで属性が指定できるみたいですが、
その下の属性とかどう指定すれば良いのでしょうか?
参照の仕方が今一分かりません。
どこかのサイトのサンプルだけでも教えて頂けないでしょうか?
よろしくお願いします。
> getElementsByTagNameで属性が指定できるみたいですが、
?あれ?
指定できるのは、要素ノード名であって、
属性ノード名では無かったはずですが…。
一応、
doc.loadXML "<a b='c'><d e='f'/>g<h>i</h></a>"
Set list = doc.getElementsByTagName("*")
などのように、* を指定して、全ての要素(a, d, h)を
得ることはできますが、属性(b, e)を指定する機能は無かったかと。
> その下の属性とかどう指定すれば良いのでしょうか?
意味が良く分かりません。
属性の下の属性とは、具体的にはどういった物なのでしょうか?
>参照設定からXMLv5を設定できました。
少し気になったので、
MSXMLV5ってOFFICE2003に付帯するバージョンであったような気がしますが
配布の際、その辺りはクリアされていますか?
http://support.microsoft.com/kb/269238/ja
XMLv5のバージョンは調べましたが、大丈夫みたいです。
それと、質問内容に誤りがありました。
申し訳ございません。
要素が入れ子になっている階層が深い、属性の値を
取りたいということでした。
お騒がせしました。
階層が深いなら、SelectSingleNode(あるいは SelectNodes)を使って、
XPath 式で指定するのが、便利で良いかと。
>XMLv5のバージョンは調べましたが、大丈夫みたいです。
了解です。数ヶ月前の私は、大丈夫でなかったので
杞憂でよかったです。
いろいろありがとうございます。
SelectSingleNodeを使ったサンプルが、過去にこちらの掲示板で
投稿されていたみたいなので、それをもとに頑張ってみます。
ありがとうございました。