Я не знаю, есть ли фейерверки, которые сделают это для вас, но ...
// Define class constructor
var SampleObject1 = function()
{
this.name = 'MySampleObject';
this.id = 1;
this.seed = 1.009;
this.createdAt = new Date();
this.obj = null;
};
// Create instance of serializer
var serializer = new Ant.Serializer();
// Register SampleObject1, so serializer gets to know how to deal with such objects
serializer.register('SampleObject1', SampleObject1);
// Create data that will be serialized
var object = new SampleObject1();
object.obj = new SampleObject1();
// Serialize and get string representation
var xml = serializer.save(object).toString();
// Displays (formatting is changed):
// <SampleObject1>
// <name type="string">MySampleObject</name>
// <id type="number">1</id>
// <seed type="number">1.009</seed>
// <createdAt>
// <Date value="2007-7-26T20:31:24.156"/>
// </createdAt>
// <obj>
// <SampleObject1>
// <name type="string">MySampleObject</name>
// <id type="number">1</id>
// <seed type="number">1.009</seed>
// <createdAt>
// <Date value="2007-7-26T20:31:24.156"/>
// </createdAt>
// <obj/>
// </SampleObject1>
// </obj>
// </SampleObject1>
WScript.echo(xml);
// Displays: MySampleObject
WScript.echo(serializer.load(xml).name);