Flash / Flex / ActionScript/XML/parent
Версия от 12:19, 26 мая 2010; (обсуждение)
Содержание
- 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
<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>