[minsangK.com] 플래시 액션스크립트 XML 로드 (블로그 타이틀 02)


플래시가 서버와 데이터를 주고 받는 방법은 이전 포스트 에서 밝혔다시피 여러가지가 있지만, 여기서 사용된 방법은 플래시 액션스크립트 2.0 의 XML 객체의 load 함수를 이용하는 것이다. 방법자체는 크게 어렵지 않다.
우선 플래시에 정보를 전달해주는 녀석은 이거다.
http://minsangk.com/xmlTest/titleComment.php?mode=xmlOnce

이 녀석은 GET Method 를 통해 전달된 mode 의 값에 따라 구분 작동하는데,

모드 지정을 안 할 경우 입력된 DB 의 데이터를 XML 로 뿌려준다 (모드 미지정)
XML 로 최신 노드 하나만을 뿌려주거나 (xmlOnce 모드)
HTML 의 테이블 태그를 이용해 뿌려주거나 (html 모드)


[#M_XML 로드 코드 (열기)|XML 로드 코드 (닫기)|
(Language : actionscript 2.0)


  1. System.useCodepage = true;


  2.  


  3. myXML = new XML();


  4. myXML.load("http://minsangk.com/xmlTest/titleComment.php?mode=xmlOnce");


  5. myXML.ignoreWhite=true;


  6.  


  7. myXML.onLoad = synchroText;


  8.  


  9. function synchroText(success)


  10. {


  11.  if(success) {


  12.   mcMent.dynamicMent.text = myXML.firstChild.firstChild.firstChild.nodeValue;


  13.   mcDate.dynamicDate.text = myXML.firstChild.firstChild.attributes.date;


  14.  }


  15.  else {


  16.   mcMent.dynamicMent.text = "Comment Load Failed";


  17.   mcDate.dynamicDate.text = "Date Load Failed";


  18.  }


  19. }

_M#]
실제 코드는 눈물이 날 정도로 간단하다.
xml 을 로드하고 로드가 완료되면 뿌려준다- 이게 끝-.-

설명하고 말 것도 없는 단촐한 코드지만 몇가지만 짚자면.

(Language : javascript)


  1. System.useCodepage = true;

이게 없으면 한글 입력을 플래시가 못 알아듣는다.

(Language : javascript)


  1. myXML = new XML();


  2. myXML.load(“http://minsangk.com/xmlTest/titleComment.php?mode=xmlOnce”);


  3. myXML.ignoreWhite=true;

myXML 이라는 객체를 만들고, load 메소드로 XML 을 가져온다.
마지막 줄은 가져온 파일에서 공백을 삭제하라는 구문으로 정확한 XML 노드트리의 작동을 위해 꼭 필요하다.

onLoad 함수는 지정된 주소에서 값을 가져와 로드가 완료되면 (성공이든 실패든) 호출된다. 매개변수로 성공/실패 여부를 알려주는 boolean 변수를 하나 주니까 이걸로 if 문을 구성하면 된다. xml 로 가져온 값은 대강 아래와 같이 나올텐데-

(Language : xml)


  1. <?xml version=“1.0″ encoding=“euc-kr” ?>


  2. <root>


  3.     <comment id=“1″ date=“20071126″>한 줄기 미소를 위해, 나-</comment>


  4. </root>

(Language : javascript)


  1. if(success) {


  2.   mcMent.dynamicMent.text = myXML.firstChild.firstChild.firstChild.nodeValue;


  3.   mcDate.dynamicDate.text = myXML.firstChild.firstChild.attributes.date;


  4.  }


  5.  

여기서 myXML 의 firstChild 는 root
root 의 firstChild 는 comment
comment 의 firstChild.nodeValue 는 ‘한 줄기 미소를 위해, 나-’ 가 된다.

date 값은 comment(myXML.firstChild.firstChild) 의 속성(attribute) 값이므로,
myXML.firstChild.firstChild.attributes.date;

이렇게 구한 값들을 지정된 무비클립-동적텍스트-텍스트에 넣어주면 끝이다.

다음 포스트에선,
입력/수정/삭제를 할 폼에 대해 끄작여보자-.-.-

2 thoughts on “[minsangK.com] 플래시 액션스크립트 XML 로드 (블로그 타이틀 02)

    1. 민상k

      감사합니다 -.-.-

      조금 옛날에 쓴 코드들이라 요즘 트렌드에는 조금 안 맞는 감이 있을 것도 같네요-.-

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>