2013-03-05 2 views
0

나는 호출하고이처럼 보이는 XML 시트 검색하는 프로젝트를 진행하고 있습니다 :AS3이 문자열에서 xml 노드를 호출합니다. 변수는 무엇입니까?

<Searchtext Wordlookup="john smith"> 
     <location>$1</location> 
     <Name>john smith</Name> 
    </Searchtext> 

을하고 약 100여 명을 위해 다음과 같이 계속됩니다.

내 플래시는이 데이터를 사용하여 사용자가 텍스트 상자 (@Wordlookup을 사용하여 e.target.data.text가 xml과 일치 함)를 클릭하거나 해당 사용자의 이름을 다시 입력 할 수 있습니다 텍스트 상자의 내용을 @Wordlookup과 일치 시킴) 그 사람의 위치가 밝아집니다 (MC는 각각의 위치 노드와 동일하게 명명됩니다). 이 말은이 코드를 사용하여 완벽하게 잘 작동 :

var result:String = xmldata.Searchtext.(@Wordlookup == inputTxt.text.toLowerCase()).location.toString(); 

가 지금은 반대하고 싶지을; 위치를 클릭하면 코드가 해당 movieclip의 이름을 내 xml의 위치와 일치시키고 해당 위치를 밝히고 텍스트 상자에 해당 인물의 이름을 출력합니다. Flash에서 문제는 내 xml의 노드가 이제 정의되지 않은 변수라고 생각하는 것입니다.

var resultz:String = xmldata.Searchtext.(location.text() == inputTxt2.text()).Name.toString(); 

그리고 : 오류 유발 코드는 이것이다 나는 해결책에 대한 높고 낮은 보았다, 그러나 나는 단지 그것을 해결할 수없는 것 (아마 간단하고, 나 자신을 마른 세수 것이다) 생성 된 오류는 다음과 같습니다. ReferenceError : 오류 # 1065 : 변수 위치가 정의되지 않았습니다.

EDIT : 원래 eTarget.name으로 inputTxt2.text를 가졌지 만 지금은 텍스트 상자에 던져서 내 위치 노드와 일치하는 결과가 출력되는 것을 볼 수 있습니다.

정확히 왜 이런 일이 발생하는지 잘 모르는 경우 도움을 위해 미리 감사드립니다.

다른 편집 : 그래서. *. :

var resultz:String = xmldata.*.Searchtext.(location.text() == inputTxt2.text()).Name.toString(); 

변수를 노드 생성에서 중단했지만 여전히 null을 반환합니다. 일치하는 위치에서 이름을 반환하는 더 좋은 방법이 있습니까?

답변

0
var xmldata:XML = new XML(
       <root> 
        <Searchtext Wordlookup="john smith"> 
         <location>$1</location> 
         <Name>john smith</Name> 
        </Searchtext> 
       </root> 
      ) 

    var result1:String = xmldata.Searchtext.(@Wordlookup == "john smith").location.toString(); 
    trace(result1) // traces $1 

    var result2:String = xmldata.Searchtext.(location == "$1").Name.toString() 
    trace(result2) // traces john smith 
+0

이 작동 것이다 .... 단지 MC의 이름은 XML의 노드와 일치하는지 인식되지 않는 것 같아,하지만 난 100 +의 각각의 코드를 작성해야하고 싶지 않아 사람들. 출력 (이 경우 inputTxt2의 데이터)을 읽고 xml에있는 내용과 일치하도록 노력하고 있습니다. 그래도 고마워! –

+0

그런 다음 "$ 1"을 inputTxt2.text로 바꾸고 텍스트는 속성이 아니라 메소드이기 때문에()를 사용하지 않습니다. –

+0

나는 그것을 또한했다, 나는 아직도 유감스럽게도 과실을 얻는다. 내가 왜 soo 호기심인지, 그것이 작동해야만하는 것 같은 종류의 그런데,하지만 그냥하지 않습니다. –

관련 문제