19.5. Creating an XML Object from an Array
Problem
You want to create an XML object
using an array to populate it.
Solution
Use a for statement to create and
insert the elements and text nodes.
Discussion
Generating an XML object, especially a large one, can be somewhat
tedious. In some cases you can make your job a little easier by
storing the text node values in an array and inserting them into the
XML object using a for loop.
Let’s take a look at an example in which you want to
create an XML object to represent a menu and the
menu items. This might be a useful example if, say, you are creating
a Flash movie that allows the user to configure a
menu’s items and save them to the server so he can
retrieve them later on.
// IncludeXML.asfor the customcreateElementWithText( )method from Recipe 19.4. #include "XML.as" // Create the array of text node values. menuItems = new Array("Springs", "Cogs", "Widgets", "Gizmos"); my_xml = new XML( ); // Create the root element for the XML object. rootElement = my_xml.createElement("menu") // Use aforstatement to loop through all the elements in the array. for (var i = 0; i < menuItems.length; i++) { // Create an XML element for each arrangement. menuItemElement = my_xml.createElementWithText("menuItem", menuItems[i]); rootElement.appendChild(menuItemElement); } // Add the root element to the XML object. my_xml.appendChild(rootElement); // Displays: <menu><menuItem>Springs</menuItem><menuItem>Cogs</menuItem> // <menuItem>Widgets</menuItem><menuItem>Gizmos</menuItem></menu> ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access