이것저것/낙서장

xml 데이터를 flash 에서 파싱하기

tornado 2004. 8. 26. 17:10

System.useCodepage = true;
xmldoc = new XML();
xmldoc.onLoad = loaded;
xmldoc.ignoreWhite = true;
xmldoc.load("/list.do?boardId=news&currPage=1");

var virtualNumArr = new Array();

function loaded(success) {
   if (success == true) {
      var ref = xmldoc.firstChild;
      for (var ch = ref; ch != null; ch=ch.nextSibling) {
  
    if(ch.hasChildNodes){
   parsing(ch);
  }
      }
      this.stop();
  
   } else {
      trace("parsing failure T.T"); 
   }
}

function parsing(src){
 for(var i = 0; i < src.childNodes.length; i++){
  var ch = src.childNodes[i];
  if(ch.hasChildNodes){
   if(ch.nodeName != null){
       trace(ch.nodeName + " / " + (ch.firstChild.nodeValue == null ? "공백처리" : ch.firstChild.nodeValue)) ;
   }
   // 재귀
   parsing(ch);
  }
 }
}

 

일단 여기까지 해서 xml 파싱 까지는 했음.... 출력되는것 보면 잘 됨..

한가지 이상한거는 차일드 노드에서 nodeName 은 잘 나오는데.. nodeValue 는 자식으로 인식한다는게 이해가 안감...

의심 가는 부분은

<element>

   value

</element>

와 같이 개행이 들어간것과...

<element>value</element> 와 같이 한줄로 된 경우...

<element param1="value1" /> 과 같이 할 경우...

 

요 세가지 중에.. 첫번째 부분처럼 각 행이 분리된 경우는 해당 값을 childNode 로 생각하는것 같음...

 

이제 파싱된 데이터 들을... 번호, 제목, 작성자, 날짜, 조회수 등으로 분리해서 그림에 가져다

붙이고... 링크 걸고.. 하면 끝날꺼 같은데....

결정적으로 Flash 를 해본지 이제 만 하루 되었다는데 문제가 있음 ㅠㅠ