3️⃣ 🧱 XML DOM (Document Object Model)
Estimated reading: 4 minutes 274 views

XML DOM Node List – Looping Through XML Nodes with Ease

Introduction – Why Learn XML DOM Node List?

When working with XML documents, you’ll often need to process multiple elements—like looping through <book>, <item>, or <user> tags. The NodeList object in the XML DOM makes this possible. It lets you easily access and iterate over groups of nodes retrieved using methods like getElementsByTagName().

In this guide, you’ll learn:

  • What a NodeList is and how it works
  • How to access and loop through NodeLists in JavaScript
  • Key properties and best practices
  • Real-world examples with code

What Is a NodeList?

A NodeList is a collection of nodes returned by DOM methods such as:

  • getElementsByTagName()
  • childNodes
  • querySelectorAll() (for HTML/XML with CSS selectors)

It behaves like an array but is not a true JavaScript array.


Sample XML

<library>
  <book>
    <title>XML Basics</title>
    <author>Jane Doe</author>
  </book>
  <book>
    <title>AJAX Mastery</title>
    <author>John Smith</author>
  </book>
</library>

Accessing NodeList with JavaScript

var xhr = new XMLHttpRequest();
xhr.open("GET", "library.xml", true);
xhr.onreadystatechange = function () {
  if (xhr.readyState === 4 && xhr.status === 200) {
    var xmlDoc = xhr.responseXML;
    var books = xmlDoc.getElementsByTagName("book");

    console.log("Total books:", books.length);

    for (var i = 0; i < books.length; i++) {
      var title = books[i].getElementsByTagName("title")[0].textContent;
      var author = books[i].getElementsByTagName("author")[0].textContent;
      console.log(`${title} by ${author}`);
    }
  }
};
xhr.send();

books is a NodeList of all <book> elements.


NodeList Properties & Methods

Property / MethodDescription
.lengthNumber of nodes in the list
[index]Access a node by index
.item(index)Same as [index], older syntax
for loopCommon method for iterating over NodeList
for...ofModern iteration (not supported in old IE)

Example – Using for...of to Iterate NodeList

for (let book of books) {
  let title = book.getElementsByTagName("title")[0].textContent;
  console.log(title);
}

Works in modern browsers. For legacy support, use for (let i = 0; i < list.length; i++).


NodeList vs Array

FeatureNodeListArray
IterableYesYes
Array methods No (map, filter, etc. unavailable) Yes
ConversionUse Array.from() or spread [...nodeList] to convert
let bookArray = Array.from(books); // Convert NodeList to true array

Best Practices for Working with NodeLists

  • ✔️ Always check .length before looping
  • ✔️ Use getElementsByTagName() for structured XML access
  • ✔️ Convert NodeList to array for advanced operations
  • ✔️ Combine with nodeType === 1 when using .childNodes
  • Don’t assume NodeLists support full array methods

Summary – Recap & Next Steps

XML DOM NodeLists are essential for accessing and looping through multiple nodes in XML. With basic iteration methods and a little care, you can extract and manipulate structured XML content efficiently.

Key Takeaways:

  • NodeLists are returned by many DOM methods
  • They can be accessed via index or .item()
  • Use loops to read and manipulate all elements in the list
  • Convert to arrays when needed for .map(), .filter(), etc.

Real-world relevance: Used in XML feed readers, dashboards, catalogs, form builders, and config tools.


FAQs – XML DOM Node List

What is a NodeList in XML DOM?
A NodeList is a collection of DOM nodes, typically returned by getElementsByTagName().

Can I use map() or filter() on a NodeList?
Not directly. Convert it using Array.from(NodeList) or [...NodeList] first.

Is a NodeList live or static?
getElementsByTagName() returns a live NodeList—it updates if the document changes.

How do I access a node in the list?
Use [index] notation: nodeList[0] or nodeList.item(0).

What happens if the NodeList is empty?
Its .length will be 0, and accessing [0] returns undefined.


SEO Metadata

  • SEO Title: XML DOM Node List – Access & Loop Through XML Elements
  • Meta Title: Learn XML DOM NodeList – Access, Iterate, and Use in JavaScript
  • Meta Description: Learn how to use NodeLists in XML DOM to access multiple XML elements. Includes JavaScript examples, methods, and best practices.
  • URL Slug: xml-dom-node-list
  • Primary Keyword:
  • Secondary Keywords:

Would you like to continue with XML DOM Traversing, XML DOM Get Values, or another DOM-based topic?

Share Now :
Share

XML DOM Node List

Or Copy Link

CONTENTS
Scroll to Top