The following code shows in a short example how to create and parse a XML using the DOM classes.
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<price>44.95</price>
</book>
<book id="bk102">
<author>Ralls, Kim</author>
<title>Midnight Rain</title>
<price>5.95</price>
</book>
</catalog>
var xml = createXML();
parseXML(xml);
function createXML()
{
var xml = "";
try
{
var rootElem = domDoc.firstChild;
var book = domDoc.createElement("book");
rootElem.appendChild(book);
book.setAttribute("id", "bk101");
var author = domDoc.createElement("author");
book.appendChild(author);
author.appendChild(domDoc.createTextNode("Gambardella, Matthew"));
var title = domDoc.createElement("title");
book.appendChild(title);
title.appendChild(domDoc.createTextNode("XML Developer's Guide"));
var price = domDoc.createElement("price");
book.appendChild(price);
price.appendChild(domDoc.createTextNode("44.95"));
book = domDoc.createElement("book");
rootElem.appendChild(book);
book.setAttribute("id", "bk102");
author = domDoc.createElement("author");
book.appendChild(author);
author.appendChild(domDoc.createTextNode("Ralls, Kim"));
title = domDoc.createElement("title");
book.appendChild(title);
title.appendChild(domDoc.createTextNode("Midnight Rain"));
price = domDoc.createElement("price");
book.appendChild(price);
price.appendChild(domDoc.createTextNode("5.95"));
xml = parser.write(domDoc, "", "UTF-8")
}
catch (exp)
{
throw exp.message;
}
return xml;
}
function parseXML(xml)
{
try
{
domParser.parse(xml, false);
var root = domParser.getDocument();
var catalog = root.documentElement;
util.out(catalog.tagName);
var catChildCount = catalog.childNodes.length;
for (var i = 0; i < catChildCount; i++)
{
var book = catalog.childNodes[i];
{
util.out(book.getAttribute("id"));
var childs = book.childNodes;
for (var j = 0; j < childs.length; j++)
{
{
util.out(childs[j].tagName);
util.out(childs[j].firstChild.data);
}
}
}
}
}
catch (exp)
{
throw exp.message;
}
}