0

Web サービス経由で返された XML から Flex 3 にコンボボックスを作成しようとしています。

コードは次のとおりです。

     <mx:WebService id="Services" 
    wsdl="http://10.10.15.4///WebService.asmx?wsdl"
    useProxy="false">
    <mx:operation   name="getAccounts"
                    showBusyCursor="true"
                    fault="showErrorDialog(event)">                         
    </mx:operation>
    </mx:WebService>

そしてコンボボックスのコード:

<mx:ComboBox id="accountPicker" labelField="Account" dataProvider="{Services.getAccounts.lastResult.Root.Node.Account}"/>

返される XML は次のようになります。

<Root>
    <Node>
       <Account>Account1</Account>
    </Node>
   <Node>
       <Account>Account2</Account>
    </Node>
</Root>

ここで何が間違っていますか?現在、コンボボックスは空白です。dataProvider から .Root.Node.Account を削除すると、[Object Object] が返されます。

ありがとう

4

1 に答える 1

1
  1. e4xを扱う場合、ルートは暗黙的であるため、必要なだけですxmlObject.Node.Account
  2. Node.Accountアカウントノードの XMLList を提供します。これらのノードには「アカウント」プロパティlabelFieldがないため、機能しません。を省略したlabelField場合、コンボ ボックスは各要素に対して toString() を呼び出します。これは自動的に内部テキストになります。

だからあなたが欲しいのは:

<mx:ComboBox id="accountPicker" dataProvider="{Services.getAccounts.lastResult.Node.Account}" />
于 2012-08-20T08:18:55.920 に答える