VBScript childNodes Property
last modified April 9, 2025
The childNodes
property in VBScript is part of the XML DOM
implementation. It returns a collection of all child nodes of the specified
node. This property is essential for navigating and manipulating XML documents.
It provides access to both element nodes and text nodes within the hierarchy.
childNodes
is read-only and returns a NodeList object. The
collection includes all direct children regardless of node type. This tutorial
covers childNodes
with practical examples to demonstrate XML
processing in VBScript.
childNodes Property Overview
The childNodes
property belongs to the XML DOM Node interface.
It provides access to all immediate children of a node. The returned NodeList
is live, updating automatically as the document changes. Nodes are indexed
starting from 0.
Important aspects include handling whitespace text nodes and element nodes.
The property works with both loaded XML documents and dynamically created
nodes. Understanding childNodes
is fundamental for XML processing.
Basic XML Document Traversal
This example demonstrates basic traversal of an XML document using
childNodes
. It shows how to access and display child nodes.
The script loads a simple XML string and examines its structure.
Set xmlDoc = CreateObject("MSXML2.DOMDocument") xmlDoc.async = False xmlDoc.loadXML "<root><item>First</item><item>Second</item></root>" Set root = xmlDoc.documentElement For Each child In root.childNodes WScript.Echo child.nodeName & ": " & child.text Next Set xmlDoc = Nothing
The script creates an XML document with two item elements. It accesses the
root element's childNodes
collection. Each child node's name
and text content are displayed. This shows basic XML navigation.
Counting Child Nodes
This example demonstrates using the childNodes
length property.
It shows how to determine the number of children a node contains. The count
includes all node types, not just elements.
Set xmlDoc = CreateObject("MSXML2.DOMDocument") xmlDoc.async = False xmlDoc.loadXML ">books>>book/>>book/>>book/>>/books>" Set books = xmlDoc.documentElement WScript.Echo "Number of book elements: " & books.childNodes.length Set xmlDoc = Nothing
The script loads an XML document with three book elements. It accesses the
childNodes.length
property of the books element. The output
shows the count of direct child nodes. This is useful for validation.
Accessing Specific Child Nodes
This example shows how to access specific nodes using their index in the
childNodes
collection. It demonstrates zero-based indexing and
direct node access. The script retrieves and displays a particular child.
Set xmlDoc = CreateObject("MSXML2.DOMDocument") xmlDoc.async = False xmlDoc.loadXML "<colors><color>Red</color><color>Green</color><color>Blue</color></colors>" Set colors = xmlDoc.documentElement Set secondColor = colors.childNodes(1) WScript.Echo "Second color: " & secondColor.text Set xmlDoc = Nothing
The script loads an XML document with three color elements. It accesses the second color using index 1 (zero-based). The text content of the specific node is displayed. This shows targeted node access.
Handling Different Node Types
This example demonstrates working with different node types in the
childNodes
collection. It shows how to identify and process
element nodes versus text nodes. The script examines each child's node type.
Set xmlDoc = CreateObject("MSXML2.DOMDocument") xmlDoc.async = False xmlDoc.loadXML "<data>Text content<item>Value</item></data>" Set dataNode = xmlDoc.documentElement For Each child In dataNode.childNodes Select Case child.nodeType Case 1: WScript.Echo "Element: " & child.nodeName Case 3: WScript.Echo "Text: " & child.nodeValue End Select Next Set xmlDoc = Nothing
The script loads XML containing both text and element nodes. It checks each
child's nodeType
property. Different processing occurs based on
whether the node is an element or text. This shows type-aware processing.
Modifying Child Nodes
This example demonstrates modifying nodes within the childNodes
collection. It shows how to change node content and structure. The script
updates a specific child node's value.
Set xmlDoc = CreateObject("MSXML2.DOMDocument") xmlDoc.async = False xmlDoc.loadXML "<settings><option>Default</option></settings>" Set settings = xmlDoc.documentElement settings.childNodes(0).text = "Custom" WScript.Echo "Modified option: " & settings.childNodes(0).text Set xmlDoc = Nothing
The script loads an XML document with one option element. It accesses the first child node and modifies its text content. The change is then verified by displaying the updated value. This shows dynamic XML modification.
Source
In this article, we have explored the childNodes
property in
VBScript, covering its usage and practical applications. From basic traversal
to node modification, these examples demonstrate XML processing techniques.
With this knowledge, you can effectively work with XML documents in VBScript.
Author
List all VBScript tutorials.