We used flash to generate this xml: we placed items on the main timeline, then we used actionscript to export the xml (and JSFL was used to reload it).

This engine had to deal with memory management and performance: a lot of items have to be simultaneously on scene: 30-40 animals, a lot of things like trees, grass, walls, vehicles… And all of this had to scroll fluently (the game run at 60 fps on Iphone 3GS in SD mode, 50 on Iphone 3G, 55 fps on Iphone 4/Ipad on HD mode). For older devices (3G), I made some optimizations (each animal have a big and a small sprite sheet to deal with memory problems, no parralax effect, less animals).
Tip: when an item is out of the visible area, just hide it (visible=no) to improve a lot scrolling performance! And stop individual animations during fast scrolling.
We couldn’t use CCSpriteBatchNode because each item has its own sprite sheet and its own z-order (a tree can be in front and behind an animal for example).