2012-07-09 5 views
0

Flex를 사용하여 모바일 앱 개발을 모색 중입니다.Flex 모바일 XML 데이터 처리

HttpService를 사용하여 XML 데이터를 반환하는 URL에 연결하려고합니다.

<s:HttpService id="test" url="UrlToConnectTo" /> 

그리고 스크립트

:에 의해 반환 처리 데이터의

private function init() :void 
{ 
    test.send(); 
} 

그리고 나는이 목록에 결합하고있는 서비스의 LASTRESULT ..

<s:List id="list" top="0" bottom="0" left="0" right="0" 
    dataProvider="{test.lastResult.Item.FiscalYear }" 
     labelField="ItemDescription"/> 

이 거기에 다른 대체 수단 서비스? 데이터를 검사하고 싶습니다만, 목록에 바인딩 된 후 어떤 데이터 유형인지 (배열, arraycollection ??) 확실하지 않습니다.

사이드 노트 : JSON을 통해 데이터를 가져올 수도 있지만 검색된 데이터를 목록 컨트롤에 제대로 바인딩 할 수 없습니다.

제공되는 링크/통계를 이해하십시오.

답변

1
Are there other alternate means of handling data returned by services? 

예, result event 핸들러를 사용하십시오. 이 같은 개념적으로 뭔가 :

<s:HttpService id="test" url="UrlToConnectTo" result="onResult(event)" /> 

그리고 당신의 핸들러 방법 :

protected function onResult(event:ResultEvent):void{ 
    trace(event.result); 
    // convert XML result to XMLListCollection 
    var myCollection : XMLListCollection = new XMLListCollection(event.result as XML); 
    // convert array result to ARrayCollection 
    var myCollection : ArrayCollection = new ArrayCollection(event.result as Array); 
} 

플렉스에서 더 유용한 무언가로 반환됩니다 어떤에서 데이터를 변환 할 수 있습니다 가능성이 높습니다. XML을 XMLList로, Array를 ArrayCollection으로, 두 가지 예가 있습니다.

+0

응답을 수정하여 예를 들어, 반환되는 데이터가 XML 또는 JSON 인 경우를 제공 할 수 있습니까? 어떻게 XML (XMLList) 또는 Array (ArrayCollection)로 캐스팅 할 수 있습니까? – Batuta

+0

죄송합니다. 결과 처리기를 부적절하게 형식화했다고 생각하지 않았습니다. 내가 아는 한 JSON을 XML 또는 ArrayCollection으로 캐스팅 할 수 없습니다. 어떤 종류의 전환을 통해 그들을 실행해야합니다. 소스로 XML을 사용하여 새 XMLListCollection을 만들 수 있어야합니다. 내 질문을 업데이트 할게. – JeffryHouser

+0

JSON 반환 컬렉션이 다른 데이터 유형으로 캐스팅 될 수 있다면 정말 도움이 될 것입니다. 나는 당신이 나중에 제공 한 것을 시험해보고 그것이 어떻게되는지 보게 될 것입니다. – Batuta

관련 문제