- PR -

XmlNodeListの個数を知りたい

1
投稿者投稿内容
bonbon
会議室デビュー日: 2003/05/30
投稿数: 8
投稿日時: 2003-05-30 09:23
 WEBサービスの初心者です。
 現在、クライアントからMS SOAP Toolkit2.0を使ってサーバー側からDataSetのXMLデータ
を読み込んでいます。クライアントソフトはExcel2000-VBAです。
--------------------
Set objRes=CreateObject(MSSMO.SoapMessage)
 Set objRes=objClient.Execute("Aset",objReq)
A1 = objRes.BodyParts.BodyElement.getElementByTagName("ABC").
Item(0).nodeTypedValue
 と行えば、ノードのデータは取得できるのですが、ノードリストの全数の取得方法が分かりません。お手数でがご教示をお願い致します。
 なお、クライアントには.NET Frameworkはインストールしておりません。
Paul
ベテラン
会議室デビュー日: 2002/04/30
投稿数: 75
お住まい・勤務地: 東京
投稿日時: 2003-05-30 18:39
中込です。

getElementByTagName("ABC")と書かれてありますが、 IXMLDOMElementオブジェクトのgetElementsByTagNameメソッドのことですね。このメソッドはノードリスト(IXMLDOMNodeListオブジェクト)を返します。
ですから、lengthプロパティにリストのノード数がセットされています。

Set List = objRes.BodyParts.BodyElement.getElementByTagName("ABC")
For i = 0 To List.length - 1
  List.item(i) で個々のIXMLDOMNodeオブジェクトを取得
Next
bonbon
会議室デビュー日: 2003/05/30
投稿数: 8
投稿日時: 2003-05-30 20:22
ありがとうございます。
lengthプロパティでノード数を取得できました。
MSDNのリファレンスのXmlNodeListのメンバを参考にしていましたがlengthプロパティ
は見つかりませんでした。どの参考書やHPを見ればlengthプロパティが分かりますか?
Paul
ベテラン
会議室デビュー日: 2002/04/30
投稿数: 75
お住まい・勤務地: 東京
投稿日時: 2003-06-02 13:44
中込です。

IXMLDOMElementのメンバついては以下に記述があります。
http://msdn.microsoft.com/library/en-us/xmlsdk30/htm/xmobjpmexmldomnodelist.asp

ただ、少なくともlengthに関しては、MSの拡張ではなく、W3CのDOM仕様準拠です。
http://www.doraneko.org/misc/dom1/level-one-core.html#ID-536297177
1

スキルアップ/キャリアアップ(JOB@IT)