XML DOM - Create Nodes

## XML DOM Tutorial

DOM HOME DOM Introduction DOM Nodes DOM Node Tree DOM Parser DOM Load Function DOM Methods DOM Accessing DOM Node Info DOM Node List DOM Traversing DOM Browsers DOM Navigating

## Manipulate Nodes

DOM Get Values DOM Change Nodes DOM Remove Nodes DOM Replace Nodes DOM Create Nodes DOM Add Nodes DOM Clone Nodes DOM XMLHttpRequest

## XML DOM Reference

DOM Node Types DOM Node DOM NodeList DOM NamedNodeMap DOM Document DOM DocumentImpl DOM DocumentType DOM ProcessingInstr DOM Element DOM Attribute DOM Text DOM CDATA DOM Comment DOM XMLHttpRequest DOM ParseError Obj DOM Parser Errors
DOM Summary

## XML DOM Examples

DOM Examples DOM Validator

# XML DOM Create Nodes

« Previous
Next Chapter »

## Try it Yourself - Examples

The examples below use the XML file books.xml.
A function, loadXMLDoc(), in an external JavaScript is used to load the XML file.

Create an element node
This example uses createElement() to create a new element node, and appendChild() to add it to a node.

Create an attribute node using createAttribute
This example uses createAttribute() to create a new attribute node, and setAttributeNode() to insert it to an element.

Create an attribute node using setAttribute
This example uses setAttribute() to create a new attribute for an element.

Create a text node
This example uses createTextNode() to create a new text node, and appendChild() to add it to an element.

Create a CDATA section node
This example uses createCDATAsection() to create a CDATA section node, and appendChild() to add it to an element.

Create a comment node
This example uses createComment() to create a comment node, and appendChild() to add it to an element.

## Create a New Element Node

The createElement() method creates a new element node:

## Example

xmlDoc=loadXMLDoc("books.xml");
newel=xmlDoc.createElement("edition");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newel);
Try it yourself »

Example explained:

1. Load "books.xml" into xmlDoc using loadXMLDoc()
2. Create a new element node <edition>
3. Append the element node to the first <book> element

Loop through and add an element to all <book> elements: Try it yourself

## Create a New Attribute Node

The createAttribute() is used to create a new attribute node:

## Example

xmlDoc=loadXMLDoc("books.xml");
newatt=xmlDoc.createAttribute("edition");
newatt.nodeValue="first";
x=xmlDoc.getElementsByTagName("title");
x[0].setAttributeNode(newatt);
Try it yourself »

Example explained:

1. Load "books.xml" into xmlDoc using loadXMLDoc()
2. Create a new attribute node "edition"
3. Set the value of the attribute node to "first"
4. Add the new attribute node to the first <title> element

Loop through all <title> elements and add a new attribute node: Try it yourself

Note: If the attribute already exists, it is replaced by the new one.

## Create an Attribute Using setAttribute()

Since the setAttribute() method creates a new attribute if the attribute does not exist, it can be used to create a new attribute.

## Example

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("edition","first");
Try it yourself »

Example explained:

1. Load "books.xml" into xmlDoc using loadXMLDoc()
2. Set (create) the attribute "edition" with the value "first" for the first <book> element

Loop through all <title> elements and add a new attribute: Try it yourself

## Create a Text Node

The createTextNode() method creates a new text node:

## Example

xmlDoc=loadXMLDoc("books.xml");
newel=xmlDoc.createElement("edition");
newtext=xmlDoc.createTextNode("first");
newel.appendChild(newtext);
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newel);
Try it yourself »

Example explained:

1. Load "books.xml" into xmlDoc using loadXMLDoc()
2. Create a new element node <edition>
3. Create a new text node with the text "first"
4. Append the new text node to the element node
5. Append the new element node to the first <book> element

Add an element node, with a text node, to all <book> elements: Try it yourself

## Create a CDATA Section Node

The createCDATASection() method creates a new CDATA section node.

## Example

xmlDoc=loadXMLDoc("books.xml");
newCDATA=xmlDoc.createCDATASection("Special Offer & Book Sale");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newCDATA);
Try it yourself »

Example explained:

1. Load "books.xml" into xmlDoc using loadXMLDoc()
2. Create a new CDATA section node
3. Append the new CDATA node to the first <book> element

Loop through, and add a CDATA section, to all <book> elements: Try it yourself

## Create a Comment Node

The createComment() method creates a new comment node.

## Example

xmlDoc=loadXMLDoc("books.xml");
newComment=xmlDoc.createComment("Revised March 2008");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newComment);
Try it yourself »

Example explained:

1. Load "books.xml" into xmlDoc using loadXMLDoc()
2. Create a new comment node
3. Append the new comment node to the first <book> element

Loop through, and add a comment node, to all <book> elements: Try it yourself

« Previous
Next Chapter »

## Your suggestion:

Your E-mail (optional):

Page address:

Description:

Close [X]

## Thank You For Helping Us!

Your message has been sent to W3Schools.

Close [X]
Search w3schools.com:

## WEB HOSTING

Best Web Hosting UK Reseller Hosting Wow! $5 SSD Hosting

## WEB BUILDING

Download XML Editor
FREE Website BUILDER FREE Website Creator

## WEB RESOURCES

Web Statistics Web Validation

## SHARE THIS PAGE