2009-10-15 2 views
0

XML 목록에 하위 항목이 있는지 확인하는 방법? 아래 코드는 내 XML의 자식을 실행하려고한다는 하드 코드를 사용하고 있습니다. 그러나 나는 아이가 많으면 모든 아이를 쓰고 싶지 않습니다.XML 자식을 동적으로 검색

private function dataLevel():void { 
     for (var j:Number=0; j<xmlList.length(); j++) { 
      createBranch(); 

      for (var k:int = 0; k<xmlList[j].children().length(); k++) { 
       createBranch(); 
      } 

      for (var l:int = 0; l<xmlList[j].children().children().length(); l++) { 
       createBranch(); 
      } 
     } 
    } 

답변

2

createBranch의 기능은 무엇입니까? 그것은 아이의 이름에 의존하지 않습니까? 주어진 코드에서, 아이들 (또는 손자)이있는 것처럼 createBranch을 여러 번 호출하기를 원하는 것 같습니다. 비록 내가 무엇을 xmlList[j].children().children().length()이 반환할지 모르겠습니다. 모든 자녀와 손자의 목록을 얻고 싶다면 descendants() 방법을 사용하십시오.

계층 적 순서로 하위를 살펴 보려면 재귀 적 방법을 작성하십시오.

function traverseChildren(node:XML):void 
{ 
    //calling createBranch here means one call per each xml children 
    createBranch(); 
    var list:XMLList = node.children(); 
    for each(var child:XML in list) 
    { 
    if(child.nodeKind() == "element") 
     traverseChildren(child); 
    //if you wanna call createBranch for each attribute and text node 
    //and comments and processing instructions, call it here instead 
    } 
} 
+0

글쎄 내 질문을 해결하는 방법을 알아낼 수 있습니다. 고맙습니다! – Hwang