Here's an introductory example using XML. If you click inside the Flash movie you can use page up / down or arrow up / down keys (or dragging the mouse) to scroll).
More to follow...
<?xml version="1.0" encoding="UTF-8" ?> <MyXMLData> <!-- INTRODUCTORY COMMENTS: ------------------------------------------> <introductory_comment>This is a sample XML file.</introductory_comment> <!-- COLORS: ---------------------------------------------------------> <colors> <color artist_primary="n" crt_primary="n" printer_primary="y">black</color> <color artist_primary="y" crt_primary="y" printer_primary="n">blue</color> <color artist_primary="n" crt_primary="n" printer_primary="y">cyan</color> <color artist_primary="n" crt_primary="y" printer_primary="n">green</color> <color artist_primary="y" crt_primary="y" printer_primary="y">green</color> <color artist_primary="n" crt_primary="n" printer_primary="y">magenta</color> <color artist_primary="n" crt_primary="n" printer_primary="n">orange</color> <color artist_primary="y" crt_primary="y" printer_primary="n">red</color> <color artist_primary="n" crt_primary="n" printer_primary="n">violet</color> <color artist_primary="n" crt_primary="n" printer_primary="n">white</color> <color artist_primary="y" crt_primary="y" printer_primary="y">yellow</color> </colors> <!-- SHAPES: ---------------------------------------------------------> <shapes> <shape>circle</shape> <shape>ellipse</shape> <shape>hexagon</shape> <shape>pentagon</shape> <shape>rectangle</shape> <shape>square</shape> <shape>triangle</shape> </shapes> </MyXMLData>
//------------------------------------------------------------
// Define a text field for displaying the XML's data.
// The way that the text field is defined here, a vertical scroll bar
// does not appear, but you can nevertheless scroll down using down
// arrow key, page down key, or mouse wheel:
var myTextField:TextField = new TextField();
myTextField.width = 400;
myTextField.border = true;
myTextField.background = true;
myTextField.backgroundColor = 0xffffff;
myTextField.height = 300;
myTextField.x = 20;
myTextField.y = 20;
myTextField.wordWrap = true;
myTextField.multiline = true;
myTextField.mouseWheelEnabled = true;
addChild(myTextField);
//------------------------------------------------------------
// Indicate the location of the external XML file:
var myXMLFile:URLRequest = new URLRequest("as3_myxml1.xml");
//------------------------------------------------------------
// Load the external XML file into Flash:
var myXMLLoader:URLLoader = new URLLoader();
myXMLLoader.load(myXMLFile);
// This does the same thing in one line of code:
// var myXMLLoader:URLLoader = new URLLoader(myXMLFile);
myXMLLoader.addEventListener(Event.COMPLETE, runThisAfterXMLLoads);
//------------------------------------------------------------
// After the XML file is done loading, display data from it:
function runThisAfterXMLLoads(myEvent:Event)
{
var myXML = XML(myEvent.target.data);
myTextField.text = myXML.introductory_comment + "\n";
myTextField.text = myXML.image.photographer + "\n";
myTextField.appendText(myXML.colors.color[1] + "\n");
myTextField.appendText(myXML.colors.color[1].@artist_primary + "\n");
//------------------------------------------------------------
// Loop through and display each element:
for each(var elements:XML in myXML.*)
{
if(elements.*.length() <= 1) // for top level elements
{
myTextField.appendText("type 1: " + elements.name() + ": " + elements + "\n");
}
else // for elements within other elements ("level 2" - Won't work for "level 3")
{
for each(var info:XML in elements.*)
{
myTextField.appendText("type 2: " + info.name() + ": " + info + "\n");
}
}
}
} // end of function runThisAfterXMLLoads