February 7, 2002 - Adding A Tag to An XML Tree
February 7, 2002 Adding A Tag to An XML Tree Tips: February 2002
Yehuda Shiran, Ph.D.
|
createElement()
method. Its syntax is:
createElement(tagName)
where tagName
is a string specifying the new tag name. This name will be echoed in the new node's nodeName
property.
Let's look at an example. First, let's read our mydvd
XML file:
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
xmlDoc.async = false;
xmlDoc.load("mydvd.xml");
Set the root node:
root = xmlDoc.documentElement;
We want to add a new tag, preparedby
. This tag will include the name of the person that prepared the sales report of the mydvd
store. Creating the element is straightforward:
newElem = xmlDoc.createElement("preparedby");
We need to decide now where to put the new tag. We decided to add it to the <summary>
tag, which is the root's (<sales>
's) first child. We can append the new tag to <summary>
's tags. Here is the code:
root.childNodes.item(0).appendChild(newElem);
We can assign a value to the new tag:
root.childNodes.item(0).lastChild.text = "Yehuda Shiran";
The addElement()
function summarizes the above:
function addElement() {
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
var root;
var newElem;
xmlDoc.async = false;
xmlDoc.load("mydvd.xml");
alert(xmlDoc.documentElement.xml);
root = xmlDoc.documentElement;
newElem = xmlDoc.createElement("preparedby");
root.childNodes.item(0).appendChild(newElem);
root.childNodes.item(0).lastChild.text = "Yehuda Shiran";
alert(xmlDoc.documentElement.xml);
}
Try it now. The first alert box echoed the XML file before adding the element node. The second alert box reflects the addition. Notice the preparedby
tag, the fourth and last child of the <summary>
tag.