spacer
Yehuda Shiran February 7, 2002
Adding A Tag to An XML Tree
Tips: February 2002

Yehuda Shiran, Ph.D.
Doc JavaScript

Developer News
News Flash: Adobe Has iPhone Workaround
Adobe's Flash 10.1 Goes Mobile (Minus iPhone)
A Salute to Visionary CEOs

You create an element node with the 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.


People who read this tip also read these tips:

Look for similar tips by subject:

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Reprints, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs

webref The latest from WebReference.com Browse >
Building a Banking Application Home Page with OOP · Mixing Scripting Languages · Review: phpFox, a Social Networking CMS with all the Bells and Whistles
Sitemap · Experts · Tools · Services · Email a Colleague · Contact FREE Newsletters 
 The latest from internet.com
Enterprise 2.0: Social Networking in the Cloud · BroadSoft Marketplace Hastens Pace of Telephony Innovation · Review: HTC Hero for Sprint