Flash / Flex / ActionScript/XML/parent
Содержание
- 1 Accessing Parent Nodes: parent( ) method can be used successively to access any ancestor node
- 2 attribute.parent() returns the element on which the attribute is defined.
- 3 Invoking parent( ) on an XMLList with a single XML instance is identical to invoking parent( ) on that instance itself.
- 4 Retrieve an XMLList representing the element"s children, and then invoke parent( ) on that list
Accessing Parent Nodes: parent( ) method can be used successively to access any ancestor node
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);
}
}
}
attribute.parent() returns the element on which the attribute is defined.
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 <B>very</B> thick book.</DESCRIPTION></BOOK>;
trace(novel.@ISBN.parent()); // Returns the <BOOK> element
}
}
}
Invoking parent( ) on an XMLList with a single XML instance is identical to invoking parent( ) on that instance itself.
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 <B>very</B> thick book.</DESCRIPTION>
</BOOK>;
trace(novel.PUBLISHER[0].parent()); // Accesses <BOOK>
trace(novel.PUBLISHER.parent()); // Also accesses <BOOK>
}
}
}
Retrieve an XMLList representing the element"s children, and then invoke parent( ) on that list
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 <B>very</B> thick book.</DESCRIPTION>
</BOOK>;
var bookDetails:XMLList = novel.*;
var book:XML = bookDetails.parent();
trace(book);
}
}
}