Flash / Flex / ActionScript/XML/parent

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

Accessing Parent Nodes: parent( ) method can be used successively to access any ancestor node

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var doc:XML = <grandparent><parent><child></child></parent></grandparent>;
       trace(doc);
       var kid:XML = doc.parent.child[0];
       trace(kid);
       var grandparent:XML = kid.parent().parent(  );
       trace(grandparent);
   }
 }

}

       </source>
   
  


attribute.parent() returns the element on which the attribute is defined.

   <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>
       <DESCRIPTION>A very thick book.</DESCRIPTION></BOOK>;
       
       trace(novel.@ISBN.parent());  // Returns the <BOOK> element
   }
 }

}

       </source>
   
  


Invoking parent( ) on an XMLList with a single XML instance is identical to invoking parent( ) on that instance itself.

   <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>
       <DESCRIPTION>A very thick book.</DESCRIPTION>
         </BOOK>;
       
       trace(novel.PUBLISHER[0].parent());  // Accesses <BOOK>
       trace(novel.PUBLISHER.parent());     // Also accesses <BOOK>
   }
 }

}

       </source>
   
  


Retrieve an XMLList representing the element"s children, and then invoke parent( ) on that list

   <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>
       <DESCRIPTION>A very thick book.</DESCRIPTION>
         </BOOK>;
       
       var bookDetails:XMLList = novel.*;
       var book:XML = bookDetails.parent();
       
       trace(book);
   }
 }

}

       </source>