XML DOM Examples – Practical JavaScript Snippets for XML DOM Manipulation
Introduction – Why Learn XML DOM Examples?
Knowing XML DOM methods is essential, but seeing them in action is where the learning really clicks. These hands-on examples cover real-world scenarios like accessing, modifying, adding, removing, and cloning XML nodes. Whether you’re building a dashboard, a feed reader, or a config editor, these examples provide clear and functional reference.
In this guide, you’ll explore:
- Realistic XML DOM tasks with working JavaScript examples
- Use of methods like
getElementsByTagName(),setAttribute(),appendChild() - Examples for reading, writing, and manipulating XML
Sample XML Document
<library>
<book id="001">
<title>XML Basics</title>
<author>Jane Doe</author>
</book>
</library>
Example 1 – Access Element and Text Value
var book = xmlDoc.getElementsByTagName("book")[0];
var title = book.getElementsByTagName("title")[0].textContent;
console.log("Title:", title); // Output: XML Basics
Reads the content inside <title>.
Example 2 – Modify Element Content
var titleNode = xmlDoc.getElementsByTagName("title")[0];
titleNode.textContent = "Advanced XML";
Changes <title> content from “XML Basics” to “Advanced XML”.
Example 3 – Modify Attribute Value
var book = xmlDoc.getElementsByTagName("book")[0];
book.setAttribute("id", "002");
Changes the id of the <book> element to 002.
Example 4 – Add New Node
var newBook = xmlDoc.createElement("book");
newBook.setAttribute("id", "003");
var title = xmlDoc.createElement("title");
title.textContent = "Learn XML";
var author = xmlDoc.createElement("author");
author.textContent = "John Smith";
newBook.appendChild(title);
newBook.appendChild(author);
var library = xmlDoc.getElementsByTagName("library")[0];
library.appendChild(newBook);
Dynamically adds a new <book> to <library>.
Example 5 – Remove an Existing Node
var price = xmlDoc.getElementsByTagName("price")[0];
price.parentNode.removeChild(price);
Deletes the <price> node from the XML structure.
Example 6 – Replace a Node
var oldAuthor = xmlDoc.getElementsByTagName("author")[0];
var newAuthor = xmlDoc.createElement("author");
newAuthor.textContent = "Revised Author";
oldAuthor.parentNode.replaceChild(newAuthor, oldAuthor);
Replaces the current <author> tag with a new one.
Example 7 – Clone a Node and Append It
var book = xmlDoc.getElementsByTagName("book")[0];
var clone = book.cloneNode(true);
clone.setAttribute("id", "004");
var library = xmlDoc.getElementsByTagName("library")[0];
library.appendChild(clone);
Clones the first <book> and inserts it into the DOM as a new book.
Example 8 – Traverse and Print All Titles
var books = xmlDoc.getElementsByTagName("book");
for (let i = 0; i < books.length; i++) {
let title = books[i].getElementsByTagName("title")[0].textContent;
console.log("Book " + (i + 1) + ": " + title);
}
Loops through every book and prints its title.
Useful XML DOM Methods Recap
| Method | Description |
|---|---|
getElementsByTagName() | Find elements by tag name |
setAttribute() | Set or update an attribute |
createElement() | Create a new XML tag |
createTextNode() | Create a text node |
appendChild() | Append node to a parent |
removeChild() | Remove a node from parent |
replaceChild() | Replace one node with another |
cloneNode(true) | Deep copy a node with all children |
Best Practices for XML DOM Manipulation
- ✔️ Normalize XML after heavy node edits using
.normalize() - ✔️ Always check if a node exists before modifying or deleting
- ✔️ Use
textContentovernodeValuefor elements - ✔️ Use loops to safely modify or clone multiple nodes
- Don’t directly manipulate XML as strings—use DOM methods for safety
Summary – Recap & Next Steps
These XML DOM examples offer a full toolkit for working with XML in JavaScript. You now know how to read, write, update, and structure XML programmatically—paving the way for XML-driven interfaces, editors, and dynamic APIs.
Key Takeaways:
- Access elements using
getElementsByTagName() - Modify text and attributes with
textContentandsetAttribute() - Add, remove, and replace nodes using DOM methods
- Clone nodes to replicate structures dynamically
Real-world relevance: These examples apply to CMS systems, config UIs, document editors, and any system using XML for structured data.
FAQs – XML DOM Examples
Can I use these examples with external XML files?
Yes. Load the file with XMLHttpRequest or fetch() and use responseXML.
What if my XML has whitespace-only text nodes?
Filter nodes using nodeType === 1 to ignore text/whitespace nodes.
Can I use DOMParser to create XML from a string?
Yes. Use new DOMParser().parseFromString(xmlString, "text/xml").
Can I update an XML document and save it?
On the client side, you can update it in memory. To save, send it to the server via AJAX.
Is XML DOM supported in all browsers?
Yes. It’s a W3C standard and works across all modern browsers.
Share Now :
