Solved

Retrieving XML Node Values and Node Names using Actionscript

Posted on 2007-11-20
2
977 Views
Last Modified: 2012-05-05
I've got an XML file that I'm retrieving using Flash Remoting. That part is working fine, but in the function that I run once I get the data, I'd like to take the node names and the node values and place them both in an array to use later in the program. I'm having a difficult time retrieving the node value. I've attached a simplified version of my code so you can see what I'm doing and where the problem is occuring.

Thanks for any help - I'm stumped.
function gotConfig(re:ResultEvent) {

   var vConfigXML = re.result;

   var tempconfig_xml:XML = new XML(vConfigXML);

   tempconfig_xml.ignoreWhite = true;

   trace("tempconfig_xml: " + tempconfig_xml);

   //result

   /* <?xml version="1.0" encoding="UTF-8"?>

<config><bkgimage>images/bkg_browsevideo.jpg</bkgimage><headerimage>images/header.png</headerimage></config> */
 

   var config_xml:XML = tempconfig_xml.childNodes[1].childNodes;

   trace("config_xml: " + config_xml);

   // result

   /* config_xml: <bkgimage>images/bkg_browsevideo.jpg</bkgimage>,<headerimage>images/header.png</headerimage> */

   var var1 = tempconfig_xml.childNodes[1].childNodes[1].nodeName;

   var var2 = tempconfig_xml.childNodes[1].childNodes[1].nodeValue;

   var var3 = tempconfig_xml.childNodes[1].childNodes[1]

   trace("var1: " + var1); // var1: bkgimage

   trace("var2: " + var1); // var2: bkgimage -- I need it to be images/bkg_browsevideo.jpg

   trace("var3: " + var3); 

   //<bkgimage>images/bkg_browsevideo.jpg</bkgimage>

   stop();

}

Open in new window

0
Comment
Question by:katyjack
2 Comments
 
LVL 2

Accepted Solution

by:
driscolltm earned 250 total points
Comment Utility
two issues:

first you're tracing out var1 where you want to see var2:
trace("var2: " + var1);
needs to be
trace("var2: " + var2);

second, the text value within a node is actually a child node itself so:

var var2 = tempconfig_xml.childNodes[1].childNodes[1].nodeValue;
needs to be
var var2 = tempconfig_xml.childNodes[1].childNodes[1].childNodes[0].nodeValue;
   
0
 

Author Closing Comment

by:katyjack
Comment Utility
That's absolutely correct - thanks very much. I'm not sure you'll see this or if there's a place for you to answer and I suppose I'm trying to get a freebie in here, but you're answer made me curious about one more thing - why would "var config_xml:XML = tempconfig_xml.childNodes[1].childNodes;" work, but "var config_xml:XML = tempconfig_xml.firstChild.childNodes;" throw a type mismatch error? I would think they would mean the same thing. At any rate - thanks very much for your help.
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Recently, I was asked to recommend a tracking system to be implemented on a clients website. As the entire site was built on flash, my first thought was to suggest custom built tracking system. However, our company at that point of time didn't h…
The Confluence of Individual Knowledge and the Collective Intelligence At this writing (summer 2013) the term API (http://dictionary.reference.com/browse/API?s=t) has made its way into the popular lexicon of the English language.  A few years ago, …
The goal of the tutorial is to teach the user how to how to record live broadcast.
The goal of the tutorial is to teach the user how to select which audio input to use. Once you have an audio input plugged into the laptop or computer, you will go into the audio input settings and choose which audio input you want to use.

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now