2009-11-12 2 views
0

HTTPService 및 반환하는 데이터에 대한 질문이 있습니다.HTTPService 결과 - 지정된 이름의 항목 수 확인

음이 XML 고려할 수 있습니다

: 당신은 내가 사진의 두 인스턴스를 보는 바와 같이 HTTPService를을 사용하여 검색 할 것이라고,

<PhotoGalleryData> 
    <Photo> 
     <id>1</id> 
     <name>Summer Vacation</name> 
     <description>In vacation</description> 
     <fullImage>originalImg/1.JPG</fullImage> 
    </Photo> 
    <Photo> 
     <id>2</id> 
     <name>Winter Vacation</name> 
     <description>coold</description> 
     <fullImage>originalImg/2.JPG</fullImage> 
    </Photo> 
</PhotoGalleryData> 

가, 그럼 같은 HTTPService의의 결과 이벤트에 내가 원하는 것 그 사람은 사진라는 인스턴스의 양을 계산하여 .lastResult으로 반환합니다.

이것은 바보 같은 질문이지만 어도비 워드 프로세서 어디에서나 찾을 수 없습니다.

물론 도움이 될만한 힌트와 제안을 보내 주시면 감사하겠습니다.


Medoix

나는 여전히 여기에없는 0

뭔가를 반환하기 때문에, 시각 장애인 또는 뭔가 해?

MXML 당신이 예제 된 XMLList이 데이터를 넣어되며 다음 XMLList에 호출 할 수있는 http_result 기능에

<mx:HTTPService id="getData" 
    url="{XMLDataFileLocation}" 
    showBusyCursor="true" 
    fault="getDataFaultHandler()" 
    result="getDataResultHandler(event)"/> 

액션

import mx.controls.Alert; 
import mx.rpc.events.ResultEvent; 
private var xmlData:XMLList; 
private var numItems:int; 
private function getDataResultHandler(evt:ResultEvent):void 
{ 
    if (evt.result.PhotoGalleryData) 
    { 
     xmlData = XML(evt.result).descendants("Photo"); 
     numItems = xmlData.length(); 
     Alert.show('Nº '+numItems,'num de Photo'); 
    } 
} 

답변

2

. 길이();

private var xmlData:XMLList; 
private var numItems:Integer; 

private function HttpResult(evt:ResultEvent):void { 
    if (evt.result.PhotoGalleryData) { 
     xmlData = XML(evt.result).descendants("Photo"); 
     numItems = xmlData.length(); 
    } 
} 

편집 : 이것은 나를 위해 노력하고 있습니다

<mx:HTTPService id="getData" 
    url="{XMLDataFileLocation}" 
    resultFormat="e4x"; 
    showBusyCursor="true" 
    fault="getDataFaultHandler()" 
    result="getDataResultHandler(event)"/> 

...

변경

<mx:HTTPService id="getData" 
    url="{XMLDataFileLocation}" 
    showBusyCursor="true" 
    fault="getDataFaultHandler()" 
    result="getDataResultHandler(event)"/> 

하려면 ... 아래 마십시오.

+0

이상한의 numItems 이런 식으로 뭔가를하지 않을까요 대신 2 –

+0

의 0의 값을 반환), 그것은 당신의 probs를 해결할 것인가? numItems = xmlData.child ("Photo"). length(); –

+0

죄송합니다. 뭔가 놓쳤습니다. 코드가 업데이트되었습니다. – medoix

0

다음을 수행하십시오.

private var xmlData:XMLList; 
private var numItems:Integer; 

private function HttpResult(evt:ResultEvent):void { 
    if (evt.result.PhotoGalleryData) { 

     numItems = ArrayCollection(evt.result.PhotoGalleryData.Photo).length; 

    } 
} 

RSTanvir

+0

플렉스는 오류를보고하지 않지만 플래시는 다음을 수행합니다. 오류 # 1034 : 유형 강제 변환 실패 : XMLList @ 2107551을 mx.collections.ArrayCollection으로 변환 할 수 없습니다. –

관련 문제