Flash / Flex / ActionScript/XML/childIndex

Материал из Web эксперт
Перейти к: навигация, поиск

Accessing Sibling Nodes

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var novel:XML = <BOOK ISBN="0000000000">
           <TITLE>ActionScript</TITLE>                    
           <AUTHOR>J, J</AUTHOR>
           <PUBLISHER>Books Ltd</PUBLISHER>  
         </BOOK>;
       
       var author:XML = novel.AUTHOR[0];
       // Previous sibling
       trace(author.parent().*[author.childIndex(  )-1]);  
       // Next sibling
       trace(author.parent().*[author.childIndex(  )+1]);  
   }
 }

}

       </source>
   
  


Get previous Sibling from a giving xml data

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       previousSibling(someNode);
   }
   public function previousSibling (theNode:XML):XML {
     if (theNode.parent() != null && theNode.childIndex(  ) > 0) {
       return theNode.parent().*[theNode.childIndex(  )-1];
     } else {
       return null;
     }
   }
 }

}

       </source>
   
  


Get the next sibling from a giving xml data

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       nextSibling(someNode);
   }
   public function nextSibling (theNode:XML):XML {
     if (theNode.parent(  ) != null
         && theNode.childIndex() < theNode.parent().children().length(  )-1) {
       return theNode.parent().*[theNode.childIndex(  )+1];
     } else {
       return null;
     }
   }
 }

}

       </source>
   
  


look index of a child node up using childIndex()

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var movieList:XML = <movieList>
                               <listName>My favorite movies</listName>
                               <movie id="123">
                                   <title>Titus</title>
                                   <year>1999</year>
                                   <director>J T</director>
                               </movie>
                               <movie id="456">
                                   <title>Rushmore</title>
                                   <year>1998</year>
                                   <director>W A</director>
                               </movie>
                               <movie id="789">
                                   <title>Hall</title>
                                   <year>1977</year>
                                   <director>Woody Allen</director>
                               </movie>
                          </movieList>;
       
       
       trace(movieList.movie[2].childIndex()); // Displays: 3
   }
 }

}

       </source>