Here's what I use:
My example creates an array containing 3 items. Each item is an object that has
3 properties (vidpath, otherAttribute, description). It creates properties from
the xml attributes and the value of the child nodes.
Given an xml file such as:
<media>
<video vidpath ="video1.flv" otherAttribute="oa1">Text description
1</video>
<video vidpath ="video2.flv" otherAttribute="oa2">Text description
2</video>
<video vidpath ="video3.flv" otherAttribute="oa2">Text description
3</video>
</media>
The ActionScript:
var flv_data_xml:XML = new XML();
flv_data_xml.ignoreWhite = true;
flv_data_xml.onLoad = function(success:Boolean) {
var theList:Array = Array();
if (success) {
AllNodeAtts = Array();
for (var theNode:XMLNode = this.firstChild.firstChild; theNode
!= null; theNode=theNode.nextSibling) {
var IndivNodeAtts:Object = new Object();
//create a propertay called "description" and insert
the value of the child node.
IndivNodeAtts.description = theNode.firstChild;
for (attr in theNode.attributes) {
IndivNodeAtts[attr] = theNode.attributes[attr];
}
AllNodeAtts.push(IndivNodeAtts);
}
trace(AllNodeAtts[0].vidpath);
trace(AllNodeAtts[1].otherAttribute);
trace(AllNodeAtts[2].description);
// output:
// video1.flv
// oa2
// Text description 3
} else {
// error loading xml
}
};
flv_data_xml.load("flv_data_example.xml");
Norm C
-----Original Message-----
From: Johan Nyberg [mailto:[EMAIL PROTECTED]
Sent: Thursday, May 03, 2007 10:15 AM
To: [email protected]
Subject: [Flashcoders] Any good XML api out there?
Hi, what I need is basically a class that puts all the data in an
associative array, or numeric, depending on if I'm storing values for
individual nodes, or a "mothernode".
Now I find there is a lot of looping going on every time I have to parse
a XML, and XPath seems more like the thing you want to use if you're
looking for specific data inside the XML - I just want to put all the
data in an Array or Object...
For example:
<root>
<track>
<name></name>
<artist></artist>
</track>
<track>
<name></name>
<artist></artist>
</track>
</root>
I would like it like this: root[track[n]["artist"]]
Regards,
/Johan
--
Johan Nyberg
Web Guide Partner
Sergels Torg 12, 8 tr
111 57 Stockholm
070 - 407 83 00
_______________________________________________
[email protected]
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com