2010-04-29 2 views
2

1 노드 (반복 노드 없음)가있는 XML을 검색 할 때이 오류가 발생하고 ArrayCollection에 저장하려고합니다. - 하나 이상의 "이름"노드가있을 때 ... 오류가 발생하지 않습니다.Flex의 ArrayCollection 오류는 단일 XML 노드를 수용하지 않습니다 - 대안?

myList= e.result.list.name; 

왜 단일 노드로 작업 된 ArrayCollection 수 없습니다

TypeError: Error #1034: Type Coercion failed: cannot convert "XXXXXX" to mx.collections.ArrayCollection. 

이 오류 코드의 라인으로 발생? 이 ArrayCollection을 Component 용 dataprovider로 사용하고 있습니다. 하나 뿐인 노드와 반복되는 노드는 물론 dataprovider로도 사용할 수있는 대안이 있습니까? 미리 감사드립니다!

코드 :

[Bindable] 
private var myList:ArrayCollection= new ArrayCollection(); 

     private function getList(e:Event):void{ 

      var getStudyLoungesService:HTTPService = new HTTPService(); 
      getStuffService.url = "website.com/asdf.php"; 
      getStuffService.addEventListener(ResultEvent.RESULT, onGetList); 
      getStuffService.send(); 

     } 

     private function onGetList(e:ResultEvent):void{ 

      myList= e.result.list.name; 
     } 

답변

1

resultFormate4x로 설정해야합니다 다음과 같이

var getStudyLoungesService:HTTPService = new HTTPService(); 
getStuffService.url = "website.com/asdf.php"; 
getStuffService.resultFormat = "e4x"; 
getStuffService.addEventListener(ResultEvent.RESULT, onGetList); 
getStuffService.send(); 

그런 다음 결과를 검색 할 수 있습니다

new XMLListCollection(e.result.list.name); 

(Amarghosh에 대한 모든 학점을, 그 내 머리를 두드리는 된 1 시간 동안,하지만 거의 그의 코멘트를 놓친!)

0

는 직접 형 ArrayCollection의 변수에 XML 또는 심지어 XMLList을 할당 할 수 없습니다. XMLListCollection을 사용하고 데이터를 생성자에 전달합니다.

[Bindable] 
private var myList:XMLListCollection; 

myList = new XMLListCollection(e.result.list.name); 
+0

감사합니다 Amarghosh. 그러나 XMLList가 유효한 dataprovider처럼 보이지 않습니다.이 오류가 발생합니다. TypeError : 오류 # 1034 : 형식 강제 변환에 실패했습니다. mx.collections :: ArrayCollection @ ddbc7c1을 XMLList로 변환 할 수 없습니다. 계속 사용할 수있는 다른 데이터 유형이 있습니까? – Rees

+0

그것은 XMLList가 아니며 'XMLListCollection'입니다. 배열 컬렉션에서 배열 컬렉션에서 xmllist 컬렉션으로 변경하십시오. – Amarghosh

+0

안녕하세요 다시 amarghosh, XMLListCollection을 시도했지만이 오류가 발생했습니다. TypeError : 오류 # 1034 : 유형 강제 변환에 실패했습니다. mx.collections :: ArrayCollection @ aaa0301을 XMLList로 변환 할 수 없습니다. . XMLList 형식 일 때 private var studyLounges : XMLListCollection; 내 초기화는 입니다. 어떤 다른 생각을 대체 데이터 형식? – Rees