XML DOM Create Nodes
Try it Yourself - Examples
The examples below use the XML file books.xml.
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
newElement = xmlDoc.createElement("edition");
xmlDoc.getElementsByTagName("book")[0].appendChild(newElement);
Try it Yourself »
Example explained:
- Suppose "books.xml" is loaded into xmlDoc
- Create a new element node <edition>
- 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
newAtt = xmlDoc.createAttribute("edition");
newAtt.nodeValue = "first";
xmlDoc.getElementsByTagName("title")[0].setAttributeNode(newAtt);
Try it Yourself »
Example explained:
- Suppose "books.xml" is loaded into xmlDoc
- Create a new attribute node "edition"
- Set the value of the attribute node to "first"
- Add the new attribute node to the first <title> element
Loop through all <title> elements and add a new attribute node: Try it yourself
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 explained:
- Suppose "books.xml" is loaded into xmlDoc
- Set the attribute "edition" value to "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
newEle = xmlDoc.createElement("edition");
newText = xmlDoc.createTextNode("first");
newEle.appendChild(newText);
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Try it Yourself »
Example explained:
- Suppose "books.xml" is loaded into xmlDoc
- Create a new element node <edition>
- Create a new text node with the text "first"
- Append the new text node to the element node
- 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
newCDATA = xmlDoc.createCDATASection("Special Offer & Book Sale");
xmlDoc.getElementsByTagName("book")[0].appendChild(newCDATA);
Try it Yourself »
Example explained:
- Suppose "books.xml" is loaded into xmlDoc
- Create a new CDATA section node
- 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
newComment = xmlDoc.createComment("Revised March 2015");
xmlDoc.getElementsByTagName("book")[0].appendChild(newComment);
Try it Yourself »
Example explained:
- Suppose "books.xml" is loaded into xmlDoc using
- Create a new comment node
- Append the new comment node to the first <book> element
Loop through, and add a comment node, to all <book> elements:
Try
it yourself