2011-05-13 1 views
0

weather.com XML 웹 서비스를 사용하여 예상 고온, 저온 및 아이콘을 얻고 있습니다. 는 XML 조각은 다음과 같다 : 나는 위의 노드를 추적하려고하고있어 다음 스크립트 조각을 사용하여 속성E4X 구문을 사용하여 특성을 처리하는 방법은 무엇입니까?

<dayf> 
<lsup>5/14/11 2:21 AM Local Time</lsup> 
<day d="0" t="Saturday" dt="May 14"> 
<hi>63</hi> 
<low>48</low> 
<sunr>6:39 AM</sunr> 
<suns>5:04 PM</suns> 
<part p="d"> 
<icon>32</icon> 

:

그러나
XML.ignoreWhitespace = true; 
var urlLoader:URLLoader = event.currentTarget as URLLoader; 
var resultXML:XML = XML(urlLoader.data); 
trace(resultXML.dayf.day.hi); 
trace(resultXML.dayf.day.low); 
trace(resultXML.dayf.day.part.attribute("p=d").icon); 

lbllowtemp.text= String(resultXML.dayf.day.low); 
lblhitemp.text=String(resultXML.dayf.day.hi); 
uicondicon.source=String(resultXML.dayf.day.part.attribute("p=d").icon)+".png"; 

, 내 Flash 응용 프로그램에서이 스크립트를 실행할 때,

Error #2044: Unhandled ioError:. text=Error #2035: URL Not Found. URL: file:///C|/Documents/WeatherFLV/.png 

따라서 hi 및 low 값은 읽지 만 p = d 속성을 가진 노드 부분의 아이콘 값은 작동하지 않습니다.

아이콘 노드를 얻기 위해 내 E4X 구문을 어떻게 수정해야합니까?

감사합니다.

답변

1

속성 이름은 'p'이고 'p=d'이 아니며 속성 값이 p"d"입니다. 따라서 값을 가진 p 속성을 가진 <part> 태그 내의 아이콘 노드를 찾고 싶습니다. 여러 값이있는 경우 그렇지 않은 경우

resultXML.dayf.day.part.(@p=="d").icon 

:

.(xxxxx)는 주어진 조건으로 XML을 필터링합니다, 여기 @p 당신은 당신이 할 수있는 이러한 값을 한 부분이있는 경우 속성

입니다 첫 번째 기록을 얻을 수 있습니다 :

resultXML.dayf.day.part.(@p=="d")[0].icon 
+0

감사합니다 !!! 그것은 일했다 :) – SidC