February 8, 2002 - Adding An Attribute to An XML Tree
February 8, 2002 Adding An Attribute to An XML Tree Tips: February 2002
Yehuda Shiran, Ph.D.
|
createAttribute()
method. The syntax of the method is:
createAttribute(name)
where name
is a string specifying the new attribute's name. This name will be echoed in the new node's nodeName
property.
Let's look at an example. First, let's read in our mydvd
XML file:
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
xmlDoc.async = false;
xmlDoc.load("mydvd.xml");
Now, find the root of the tree and create the new attribute object:
root = xmlDoc.documentElement;
newAtt = xmlDoc.createAttribute("Year");
Create a collection of all of root's attributes and assign it to nameNodeMap
:
namedNodeMap = root.attributes;
Use the setNamedItem()
method to set one of the attributes in this collection:
namedNodeMap.setNamedItem(newAtt);
Let's summarize the above calls in one function:
function addAttribute() {
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
var root;
var newAtt;
var namedNodeMap;
xmlDoc.async = false;
xmlDoc.load("mydvd.xml");
alert(xmlDoc.documentElement.xml);
root = xmlDoc.documentElement;
newAtt = xmlDoc.createAttribute("Year");
namedNodeMap = root.attributes;
namedNodeMap.setNamedItem(newAtt);
alert(xmlDoc.documentElement.xml);
}
Try it now. The first alert box echoed the XML file before adding the attribute node. The second alert box reflects the addition. Notice the Year
attribute in the <sales>
tag.