2011-04-26 1 views
1

urlRequest를 만들고 결과를 반환하는 Main.as 클래스를 작성했습니다. 필요한 노드는 minTemp, maxTemp 및 Icon입니다. 하나의 도시에 대한 요청을 만들고 있으므로이 노드가 한 번만 있어야합니다. 이 노드와 그 값을 얻기 위해 AS3을 어떻게 구성할까요?AS3 및 E4X를 사용하여 3 개의 노드를 얻는 방법?

public class Main extends MovieClip { 

public function Main() { 

     var urlRequest:URLRequest=new URLRequest("http://myurl"); 
     var urlLoader:URLLoader=new URLLoader(); 
     var result:XmlDocument=new XMLDocument(); 

     urlLoader.addEventListener(Event.COMPLETE, parseXML); 
     urlLoader.load(urlRequest); 

     result.ignorWhite=true; 
     result.parseXML(getXMLString()); 
     } 
} 

나는 1046을 XmlDocument 유형이 정의되지 않은 속성 parseXML 1120 액세스 및 1180 호에 정의되지 않은 방법 getXMLString를 찾을 수 없습니다 오류를 받고 있어요. 내가 그걸 어떻게 정리할 수 있을까?

답변

1

이 방법으로 작동합니다, 당신은 기능 parseXMl를 정의하지 않았고 그 결과 중 하나를 생성되지 않습니다

public class Main extends MovieClip {  
     public function Main() { 

       var urlRequest : URLRequest = new URLRequest("http://myurl"); 
      var urlLoader : URLLoader = new URLLoader(); 

      urlLoader.addEventListener(Event.COMPLETE, onXmlLoaded); 
      urlLoader.load(urlRequest); 

     } 

     private function onXmlLoaded(event : Event) : void 
     { 
      XML.ignoreWhitespace= true; 
      var urlLoader : URLLoader = event.currentTarget as URLLoader; 
      var resultXML : XML = XML(urlLoader.data); 
      trace(resultXML); 
     } 
    } 
+0

@SidC이 답변이 오류를 수정합니다. XML 구문 분석에 도움이 필요하면 알려주십시오. –

+0

@SidC 추적 (resultXML.minTemp); 추적 (resultXML.maxTemp); 추적 (resultXML.Icon); –

+0

감사합니다. 구문 오류가 해결되었습니다. 영화를 디버깅 할 때 "이 위치에 소스 코드를 표시 할 수 없습니다."라는 메시지가 나타납니다. @George Profenza의 세 가지 추적 문을 처음에 추가했는데 같은 오류가 발생했습니다. 그런 다음 주석을 달았습니다. 아이디어? – SidC