Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion GroupsGeneralPHPASPPerlColdFusionFlashHTML, CSS, ScriptsBrowsers

Webmaster Forum / Flash / Data Integration / August 2006



Tip: Looking for answers? Try searching our database.

Newbie xml and flash

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
bexlhoward1 - 14 Aug 2006 16:41 GMT
HI, I am trying to learn xml in flash myself and am finding it v.hard!

All i am trying to do is create a little 'story' with 3 pages.I have content
loading into flash but I am unable to get the next 'sibling' into an array e.g.
the title. I can only get page1's title in the array but I can never get to
page 2.

Here is my xml:

<maincontent>
    <page1>
        <title>Who is he</title>
        <story>Duh a monkey that lives in the jungle, thats why they call him the
JUNGLE MONKEY</story>
    </page1>
   
        <page2>
        <title>What does he do?</title>
        <story>Swings around from tree to tree singing do wa di di .. di di dum di
di do...</story>
    </page2>
   
        <page3>
        <title>What is he like?</title>
        <story>Well you know - just a monkey doing his monkey business!</story>
    </page3>

</maincontent>

and here is my actionscript:

//load in the xml file
tut = new XML();
tut.ignoreWhite = true;
tut.onLoad = function(success) {
    if (success) {
        processstory(tut);
    }
};
tut.load("tut.xml");
function processstory(xmlDoc_xml) {
   
    titlearray = new Array();
    // xmlDoc_xml is now a reference to the XML
    // object where our information is stored
   
   
       for (var n = 0; n<xmlDoc_xml.firstChild.childNodes.length; n++) {
           
       
           
            trace(n);

           
        if (xmlDoc_xml.firstChild.firstChild.childNodes[n].nodeName == "title") {
            trace('The title is'+'
'+xmlDoc_xml.firstChild.firstChild.childNodes[n].firstChild.nodeValue);

            titlearray.push(xmlDoc_xml.firstChild.firstChild.childNodes[n].firstChild.nod
eValue);
    }

    trace(titlearray);
    }
   
   
}

This only traces the first title, how can i get to the second and the third so
i can then display them in my text box????

Any help/guidance or pointing to the right place is thankfully received!

Thanks

Bex
john@roehl - 17 Aug 2006 19:33 GMT
http://www.adobe.com/devnet/flash/articles/xmlconnector.html

If you're using MX2004 or Flash 8 this tutorial will solve the whole problem without so much as one lick of AS.

Hope that helps
The Feldkircher - 26 Aug 2006 18:13 GMT
Howdy

XML is great if you understand all the concepts of node navigation, but this
takes too long and is not very interesting

Macromedia introduced the XpathAPI to allow us mere mortals a faster learning
curve.

So here is what I have done with your code, using the XpathAPI

The 3 key lines to look at are

Line 1 import: mx.xpath.XPathAPI,    this imports the Xpath Class and allows
it to be used.

Line 10 var thePath_str:String = "maincontent/page/title";      this tells
Xpath Class what to look for

Line 11 var title_array:Array = XPathAPI.selectNodeList(this.firstChild,
thePath_str);       this creates an Array of titles obtained

from the firstChild node of this, which in our case is maincnontent/page/title
or thePath_str which is the same.

I also altered your XML slightly, so that it conforms uniformaly.

Hope it all helps

 

import mx.xpath.XPathAPI;

var storyxml:XML = new XML();
storyxml.ignoreWhite = true;
storyxml.onLoad = function(success:Boolean) {
    trace("onload...");
    if (success) {
        trace("success...");
        // Retrieve all title nodes within maincontent/page/title.
        var thePath_str:String = "maincontent/page/title";
        var title_array:Array = XPathAPI.selectNodeList(this.firstChild,
thePath_str);
        for (var i:Number = 0; i < title_array.length; i++) {
            trace(title_array[i].firstChild.nodeValue);}
            } else {
                trace("error loading XML");
                }
                };
               
                storyxml.load("story.xml");

<maincontent>
<page id="1">
<title>Who is he</title>
<story>Duh a monkey that lives in the jungle, thats why they call him the
JUNGLE MONKEY</story>
</page>

<page id="2">
<title>What does he do?</title>
<story>Swings around from tree to tree singing do wa di di .. di di dum di di
do...</story>
</page>

<page id="3">
<title>What is he like?</title>
<story>Well you know - just a monkey doing his monkey business!</story>
</page>

</maincontent>
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.