Thanks for the tip Alain.  I'll have to check it out.

Jeff

On 8/31/06, Alain Rousseau <[EMAIL PROTECTED]> wrote:

Hi Jeff,

if you want to convert the XML to anative AS object you could try out
Sephiroth's XML2Object class
http://www.sephiroth.it/file_detail.php?pageNum_comments=0&id=129

or the XMLObject class which is similar but with a few more
functionnalities.
http://www.sephiroth.it/file_detail.php?id=134#

        import it.sephiroth.XML2Object;

        var XML_FILE:String = "http://my.server.com/myapp/xmlfile"; +
i_id + ".xml";
        var oXML:XML = new XML();
        var ObjFromXML:XML2Object = new XML2Object();
        var myObject:Object = new Object();
        var thisRef = this;
        oXML.ignoreWhite = true;
        oXML.onLoad = function(success) {
            if (success) {
                myObject = ObjFromXML.parseXML(oXML);
                thisRef.accessObject();
            }else{
                //you error code here
            }
        };

        oXML.load(XML_FILE);

        function accessObject():Void {
             var i:Number = -1;
             while (++i < myObject.bgColor.length) {
                trace("bgColor = "+myObject.bgColor[i]); // if you have
more than one bgColor tag in your XML, the class will convert it to an
array
             }

        }

This is an example of what you can do with that class. This would save
you the time of creating your own Object.


HTH

Alain

Jeff Brown wrote:

> Thanks Mike!
>
> That looks like something I can tweak.
> But, id do still have a question or two.
>
> It seems it might go easier on me if I rdeifine the XML to use just
child
> nodes instead of attributes.  Does that make sense, or is there an
easier
> way to get at an attribute of your array then say:
>
> var g_id:Number  = itemAr[i].firstChild.attribute.group.nodeValue;
> var bgcolor:String =
> groupAr[g_id].firstChild.attribute.bgcolor.nodeValue;
>
> I mean, I did a little searching on the web and found some XPath
> documentation, thanks to Ramon's note, so is there something like.
>
> var g_id:Number = XPathAPI.selectInteger(itemAr[i], "atribute::lang");
> var bgcolor:String = XPathAPI.selectString(groupAr[g_id],
> "attribute::bgcolor");
>
> Hmm, even my examples, if they exists, seem verbose.  But if it works,
> then
> I can get the stuff done I need too.
>
> I guess the ideal would be for me to build some 'tweaked' object so
> that I
> could use.
>
> ------------- ideal code ---------------
> var data:Data = new Data("http://my.server.com/myapp/xmlfile"; + i_id +
> ".xml");
>
> while (Data.items())  // iterator sets internal pointer to internal item
> Array
> {
>  var bgcolor:String = Data.getBgColor(); // for example looks up the
> Group
> by the current item's group attribute.
>  ...
>  // build display stuff
> }
> ------------ /ideal code ---------------
>
> If this is just a pipe dream, let me know.  I think something like my
> ideal
> code example above would work great, because I won't be building the
> flash
> for the application, and my flash designer is a little leary of
> actionscripting.  And I knew conceptually that flash could read XML.
> If I
> can give her an object like that, then I know she can build what we
need.
>
> Thanks
>
> Jeff
>
>
> On 8/31/06, Mike Britton <[EMAIL PROTECTED]> wrote:
>
>>
>> It's built into Flash 8:
>>
>> import mx.xpath.XPathAPI;
>>
>> function getXMLData() {
>>         var myXML:XML = new XML();
>>         myXML.ignoreWhite = true;
>>         myXML.onLoad = function(success:Boolean) {
>>                 if (success) {
>>                         var groupAr:Array = XPathAPI.selectNodeList(
>> this.firstChild,
>> "/data/grouplist/group");
>>                         var itemAr:Array = XPathAPI.selectNodeList(
>> this.firstChild,
>> "/data/itemList/item");
>>                         for (var i:Number=0; i<groupAr.length; i++) {
>>                                 trace(groupAr[i].firstChild.nodeValue);
>>                         }
>>                         for (var i:Number=0; i<itemAr.length; i++) {
>>                                 trace(itemAr[i].firstChild.nodeValue);
>>                         }
>>                 } else {
>>                         trace("XML loading failed !!!");
>>                 }
>>         };
>>         myXML.load("myXML.xml");
>> }
>>
>> Tweakage may be necessary - I've had a couple glasses of wine.
>>
>>
>> Mike Britton
>> _______________________________________________
>> Flashcoders@chattyfig.figleaf.com
>> 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
>>
> _______________________________________________
> Flashcoders@chattyfig.figleaf.com
> 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
>
>
>
_______________________________________________
Flashcoders@chattyfig.figleaf.com
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

_______________________________________________
Flashcoders@chattyfig.figleaf.com
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

Reply via email to