我正在尝试从通过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]。
由于
答案 0 :(得分:1)
xmlObject.Node.Account
Node.Account
为您提供帐户节点的XMLList。这些节点没有“帐户”属性,因此labelField
无效。如果你忽略labelField
,组合框将在每个元素上调用toString(),这自动是内部文本。所以你想要的是:
<mx:ComboBox id="accountPicker" dataProvider="{Services.getAccounts.lastResult.Node.Account}" />