Tip:
Highlight text to annotate it
X
Now in this chapter we are going to be working a lot with creating XML data using ActionScript
3.0. If you are following along I am working in
01_understanding_E4X.FLA in the Chapter2 folder in the Exercisefiles
folder. If you don't have access to the Exercise files
just create a text field on the stage, make sure it's a dynamic text field and give
it an instance name of info_txt. Let's look at the first keyframe within the
Actions Layer and open up the Actions Panel. In my code I am importing all the component
classes and I have created a variable called info_txt
to represent a text area component. I did that so I don't have to type out the
full path of the component every time I want to reference it.
If you simply have a text field on the stage named info_txt you don't need to write any
of this code here. Let's go down a few lines and talk a little
bit about E4X. E4X refers to ECMAScript for XML.
That essentially means that in ActionScript Flash uses XML as a native data format which
means we can create XML data in ActionScript the same way that we create
XML data in an XML file and there are also a few ways you can create XML data.
It's even simpler than creating XML in an XML file.
Let's start out by creating a variable. I am going to call this Image.
This is going to represent an image in our gallery so I am going to type colon.
I am going to data type this to XML. I am going to set it equal to a new instance
of the new XML class. Inside of the parenthesis of our constructor
function we are creating a new instance of the XML class.
We are going to create an Image element. So I am going to type an open bracket I am
going to type image a forward slash and then a close bracket.
This way of typing is the shorthand way to sort of open and close an element at the same
time. So now we have our XML and our parent element
is Image. Just get onto the next line and we can add
elements and values to those elements in our XML
in the same way that we add a value to an object.
Let me show you how that works. Image. and let's say I type .filename so file
lowercase f name with capital N all one word, space equals space
and then in quotes I am going to put the path to some imaginary file.
So I am going to call this pickone.jpeg. Let's get on to the next line.
I am going to type image.photographer space equals space and then in quotes I am going
to put the name of photographer I am just going to make up
some name photographer1. Now at this point let's take a look at what
our XML data looks like. I am going to do this in a trace statement.
Go down a few lines and I am going to type trace and then in the parenthesis we are going
to pass in image. That's going to trace our XML data.
Let's see we get an output window when we test the movie.
So we can test the movie by pressing Command Return or Ctrl+Enter and since you are probably
really familiar with that keyboard shortcut that's the last
time I am going to say, so check in the output window and you will see our XML.
We have image, opening and closing tag and inside of that element we have a Filename
element and Photographer element. So let's say what we want to do is take some
of our XML data and display it in the text field on the stage.
I am just going to delete this trace statement. I am going to put the Photographer element
inside of our text field. So I am going to set the text property of
info_txt to image.photographer. So let's test the movie and then we see the
photographer's name in the text field on the stage.
So you can see that we can access XML data using E4X in the same way that we access any
other data in Flash that's using .syntax and that's the
beauty of E4X. Throughout the rest of this chapter we will
take a look at some more easy ways to reference data using E4X.