Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Retrieving XML Node Values and Node Names using Actionscript

Posted on 2007-11-20
2
Medium Priority
?
989 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 1000 total points
ID: 20322168
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
ID: 31410175
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

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Sometimes you know that one object has a specific child in it, but you can't find the child. This happened to me when I was trying to code some actionScript to make a toolbar work with its embedded buttons.  My partner had created the toolbar usiā€¦
I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
The goal of the tutorial is to teach the user how to how to load their YouTube profile onto Flash Media Live Encoder.
The goal of the tutorial is to teach the user how to set there setting in Adobe Flash Media Live Encoder and YouTube for optimal video and audio quality.
Suggested Courses
Course of the Month11 days, 10 hours left to enroll

916 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