http://mirror1.cvsdude.com/trac/osflash/xray/browser/downloads/FLASC/XMLObject.as?rev=105
To convert from an object to XML, use the new getXML(object, ["root name"]) method;
To convert from an XML to Object, use the new getObject(XML) method:
Use this code in a new FLA along with xray to test.
import it.sephiroth.XMLObject;
var x2o:XMLObject = new XMLObject();
var returnXML:XML;
var convertedObj:Object;
var obj:Object = new Object();
obj.prop_0 = "Test String";
obj["child_0"] = {};
obj["child_0"].prop_0 = new Array("xray", "red5", "flasc");
obj["child_0"].prop_1 = true;
obj["child_0"].prop_2 = 12;
tt("obj before", obj)
function convertObjectToXML(p_obj:Object):XML
{
var x2o:XMLObject = new XMLObject();
var xmlDoc:XML = x2o.getXML(p_obj, "EXPORT");
return xmlDoc;
}
function convertXMLToObject(p_xml:XML):Object
{
var x2o:XMLObject = new XMLObject();
var obj:Object = x2o.getObject(p_xml);
return obj;
}
tt('========');
returnXML = convertObjectToXML(obj);
tt(parseXML(returnXML));
tt('========');
convertedObj = convertXMLToObject(returnXML)
tt("convert back to obj", convertedObj);
function parseXML(p_xml:XML):String
{
str = p_xml.toString();
str = str.split("><").join(">\n<");
return str;
}
from here, i put it in with Flasc's export/import and it worked great right out of the box. I didn't have to change a thing.
I'm sure that the new recursion method for object -> xml can be extended/added to, but in it's basic form, it works well.
Thoughts?
On 3/2/06, John Grden <[EMAIL PROTECTED]> wrote:
Yep, that's right ;)
In running an initial test with the class on it's own however, I see that the object conversion was having problems, and i think I see why. I'm reworking the recursion methods right now.
On 3/2/06, Aaron Smith <[EMAIL PROTECTED] > wrote:when you parse back to xml. pass the first node of the object.. ( xml
= new XMLObject().parseObject(obj.firstnode, 'firstnode'); )
John Grden wrote:
> yeah, someone mentioned that issue, let me mess with it for a few
> minutes and get back to you ;)
>
> On 3/2/06, *paul | WE.BYTE!* < [EMAIL PROTECTED]
> <mailto: [EMAIL PROTECTED]>> wrote:
>
> hi john,
> forget about the shift/pop thing. everything works well as it is -
> concerning node-ordering.
> anyway there seems to be a problem with parsing from object to XML.
>
> when you parse xml->object and then back to XML. the first node of
> the resulting XML appears twice.
> any ideas?
>
> ahoi, paul
>
>
>
> Am 01.03.2006 um 14:49 schrieb John Grden:
>
>> Good question Paul, I'd have to look through the code to see why
>> it extends XML. Sepy is the original writer ;)
>>
>> As for the shift/pop - i'll take a look - does it work better for
>> you? I can see what you're talking about.
>>
>> On 3/1/06, *paul | WE.BYTE!* < [EMAIL PROTECTED]
>> <mailto: [EMAIL PROTECTED]>> wrote:
>>
>> hi john,
>> first of all: thanks for sharing your code. great!
>> i just tried your XMLObject and it works realy good for me.
>> but i noticed, that the order of the xml-tags gets inverted,
>> when parsing xml<->object.
>> i think, changing
>> node = nodes.shift();
>> to
>> node = nodes.pop();
>> in line 125 would be better
>>
>> and i have a question: why does XMLObject extend XML? i
>> dont't understand the reason for that?
>>
>> ahoi,
>> paul
>>
>>
>>
>> Am 28.02.2006 um 06:02 schrieb John Grden:
>>
>>> http://mirror1.cvsdude.com/trac/osflash/xray/browser/downloads/FLASC/XMLObject.as?rev=104
>>> < http://mirror1.cvsdude.com/trac/osflash/xray/browser/downloads/FLASC/XMLObject.as?rev=104>
>>>
>>> Sorry, already made a revision ;)
>>>
>>> On 2/27/06, *John Grden * < [EMAIL PROTECTED]
>>> <mailto: [EMAIL PROTECTED]>> wrote:
>>>
>>> Well, thanks to Ben Jackson and everyone else including
>>> Alessandro himself, I was able to finally get the
>>> XMLObject class working back and forth cleanly.
>>>
>>> In creating and import/export for FLASC, it was critical
>>> to make sure it was brought back in exactly the way I
>>> stored the projects. After a while, there were a few
>>> items to add/fix with the latest version, but I think
>>> we're there!
>>>
>>> 1. Instead of using split(), i added a counter to go
>>> through the array object. Split was hacking my original
>>> array objects ;)
>>>
>>> 2. Line 59, instead of doing a for..in loop, I changed
>>> it to a regular for loop for index based looping of an
>>> array.
>>>
>>> 3. Line 131, added boolean casts to make the conversion
>>> complete from XML to Object ;)
>>>
>>> and of course, with the changes that Ben made for
>>> getting rid of "data" properties, it's looking pretty
>>> close to being complete.
>>>
>>> I now have a complete class that does conversion back
>>> and forth between XML and Objects - and so far, it works
>>> really well.
>>>
>>> You can check it out here:
>>> http://mirror1.cvsdude.com/trac/osflash/xray/browser/downloads/FLASC/XMLObject.as?rev=102#L131
>>>
>>> --
>>> John Grden - Blitz
>>>
>>>
>>>
>>>
>>> --
>>> John Grden - Blitz
>>> _______________________________________________
>>> osflash mailing list
>>> [email protected] <mailto: [email protected]>
>>> http://osflash.org/mailman/listinfo/osflash_osflash.org
>>> < http://osflash.org/mailman/listinfo/osflash_osflash.org >
>>
>>
>>
>> _______________________________________________
>> osflash mailing list
>> [email protected] <mailto:[email protected]>
>> http://osflash.org/mailman/listinfo/osflash_osflash.org
>>
>>
>>
>>
>>
>> --
>> John Grden - Blitz
>> _______________________________________________
>> osflash mailing list
>> [email protected] <mailto: [email protected]>
>> http://osflash.org/mailman/listinfo/osflash_osflash.org
>
>
>
> _______________________________________________
> osflash mailing list
> [email protected] <mailto:[email protected]>
> http://osflash.org/mailman/listinfo/osflash_osflash.org
>
>
>
>
>
> --
> John Grden - Blitz
>
>------------------------------------------------------------------------
>
>_______________________________________________
>osflash mailing list
>[email protected]
> http://osflash.org/mailman/listinfo/osflash_osflash.org
>
>
_______________________________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org--
John Grden - Blitz
--
John Grden - Blitz
_______________________________________________ osflash mailing list [email protected] http://osflash.org/mailman/listinfo/osflash_osflash.org
