回答編集履歴

1

具体的なXML例と、それに対応したVBA側コードを追記しました

2015/07/03 01:53

投稿

退会済みユーザー
answer CHANGED
@@ -2,9 +2,36 @@
2
2
 
3
3
  webサーバーはFuelPHPにてRestコントローラーを使ってXML出力するようにしました。
4
4
  Model_CrudクラスでDB問い合わせ結果を配列で取得したものを、XML出力出来ました。
5
+ 例えばこんな感じ:
6
+ ```lang-XML
7
+ <result>ok</result>
8
+ <content>
9
+ <item>
10
+ <field_1>foo</field_1>
11
+ <field_2>bar</field_2>
12
+ (略)
13
+ </item>
14
+ <item>
15
+ <field_1>baz</field_1>
16
+ <field_2>qux</field_2>
17
+ (略)
18
+ </item>
19
+ (略)
20
+ </content>
21
+ ```
5
22
 
6
23
  MS-Access側は特に変えていません。
7
24
  XPath式を使ってselectNodesメソッドにて目標要素を特定してデータ抽出できています。
8
25
 
26
+ ```lang-VBA
27
+ rownum = 1
28
+ Do Until xdoc.selectNodes("//content/item[" & CStr(rownum) & "]/field_1").Length = 0
29
+ field_1 = xdoc.selectNodes("//content/item[" & CStr(rownum) & "]/field_1").Item(0).Text
30
+ field_2 = xdoc.selectNodes("//content/item[" & CStr(rownum) & "]/field_2").Item(0).Text
31
+ (略)
32
+ rownum = rownum + 1
33
+ Loop
34
+ ```
35
+
9
36
  webサーバーの応答のデバッグについては、応答テキストをXML解釈できるエディタにコピペして、
10
37
  意図した構造になっているかをチェックすれば良さそうです。