0

こんにちは、次のフレックス コードがありますが、xml の結果を表示する方法がわかりません。現在、textbox の結果は String[] ですが、xml の結果を 100,200,300,400,500 として表示する必要があります。

<?xml version="1.0" encoding="utf-8"?> 

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
           xmlns:s="library://ns.adobe.com/flex/spark"
           xmlns:mx="library://ns.adobe.com/flex/mx"
           xmlns:hellos="services.hellos.*"
           minWidth="955" minHeight="600"> 
<fx:Script>
    <![CDATA[
        import mx.events.FlexEvent;

        protected function 
        form_creationCompleteHandler(event:FlexEvent):void
        {
            sayHelloResult.token = hellos.sayHello();
        }

    ]]>
</fx:Script>
<fx:Declarations>
    <hellos:Hellos id="hellos"/>
    <s:CallResponder id="sayHelloResult"/>
</fx:Declarations>
<s:Form id="form" creationComplete="form_creationCompleteHandler(event)">
    <s:FormItem label="SayHello">
        <s:TextInput text="String[]"/>
    </s:FormItem>
</s:Form>

 </s:Application>

xml は次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
  xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"  
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance">
  <soapenv:Body>
    <sayHelloResponse xmlns="http://services">
     <sayHelloReturn>100</sayHelloReturn>
     <sayHelloReturn>200</sayHelloReturn>
     <sayHelloReturn>300</sayHelloReturn>
     <sayHelloReturn>400</sayHelloReturn>
     <sayHelloReturn>500</sayHelloReturn>
    </sayHelloResponse>
  </soapenv:Body>
</soapenv:Envelope>
4

1 に答える 1

1

ラベルに id を追加します。

 <s:TextInput id="resultText" text=""/> 

コール レスポンダーの結果イベントにハンドラーを追加します。

 <s:CallResponder id="sayHelloResult" result="processResult()" />

次のようにレスポンダーを適用します。

protected function processResult():void{
    var r:Array = [];
    for each(var xml:XML in sayHelloResult.lastResult..*::sayHelloReturn){
        r.push(xml.toString());
    }
    resultText.text = r.join(',');
}

xml を扱うときは、名前空間を忘れないでください: http://jodieorourke.com/view.php?id=76&blog=news

于 2012-12-20T11:41:23.570 に答える