VBScript lastChild Property

Learn about VBScript lastChild property, including XML DOM traversal, node manipulation, and more. Understand how to use it effectively with practical examples.

VBScript lastChild Property

VBScript lastChild Property

last modified April 9, 2025

The lastChild property in VBScript is part of the Document Object Model (DOM). It returns the last child node of a specified node. This property is read-only and commonly used in XML document traversal. It helps navigate hierarchical node structures efficiently.

lastChild returns Nothing if the node has no children. It’s useful for accessing the final element in a node collection. This tutorial covers lastChild with practical examples to demonstrate its usage in various scenarios.

lastChild Property Overview

The lastChild property belongs to the DOM Node interface. It provides access to a node’s last child without using childNodes collection. The property is available when working with XML documents in VBScript.

Key features include direct access to the last node and null return for empty nodes. It works with all node types including elements and text nodes. Understanding this property helps create efficient XML processing scripts.

Basic lastChild Access

This example demonstrates the simplest use of lastChild to access the last child of an XML element. It shows how to load an XML document and navigate to the last child node. The example outputs the node name and value.

basic_lastchild.vbs

Set xmlDoc = CreateObject(“Microsoft.XMLDOM”) xmlDoc.async = False xmlDoc.loadXML “<root><item>First</item><item>Second</item><item>Last</item></root>”

Set lastNode = xmlDoc.documentElement.lastChild WScript.Echo “Node name: " & lastNode.nodeName & “, Value: " & lastNode.text

Set xmlDoc = Nothing

The script creates an XML document with three items. lastChild accesses the final “item” node. The output shows the node name (“item”) and its text content (“Last”). This demonstrates basic last node access.

Checking for No Children

This example shows how to handle cases where a node has no children. lastChild returns Nothing when there are no child nodes. The script demonstrates proper null checking before accessing node properties.

no_children.vbs

Set xmlDoc = CreateObject(“Microsoft.XMLDOM”) xmlDoc.async = False xmlDoc.loadXML “<root><emptyNode/></root>”

Set emptyNode = xmlDoc.documentElement.firstChild Set lastChild = emptyNode.lastChild

If lastChild Is Nothing Then WScript.Echo “No child nodes found” Else WScript.Echo “Last child: " & lastChild.nodeName End If

Set xmlDoc = Nothing

The script checks if lastChild returns Nothing for an empty node. This is important to avoid runtime errors when accessing node properties. The example outputs “No child nodes found” as expected.

Accessing Nested Last Child

This example demonstrates accessing the last child in a nested XML structure. It shows how to chain lastChild calls to navigate deep hierarchies. The script retrieves the innermost last node.

nested_lastchild.vbs

Set xmlDoc = CreateObject(“Microsoft.XMLDOM”) xmlDoc.async = False xmlDoc.loadXML “<root><group><item>A</item><item>B</item></group><group><item>C</item></group></root>”

’ Get last group, then its last item Set lastGroup = xmlDoc.documentElement.lastChild Set lastItem = lastGroup.lastChild

WScript.Echo “Last item in last group: " & lastItem.text

Set xmlDoc = Nothing

The script first gets the last “group” node, then its last “item” node. This two-step navigation is common in XML processing. The output shows “C” as the last item in the last group.

Comparing firstChild and lastChild

This example compares firstChild and lastChild properties. It demonstrates accessing both ends of a node collection. The script shows the difference between these navigation properties.

first_vs_last.vbs

Set xmlDoc = CreateObject(“Microsoft.XMLDOM”) xmlDoc.async = False xmlDoc.loadXML “<colors><color>Red</color><color>Green</color><color>Blue</color></colors>”

Set first = xmlDoc.documentElement.firstChild Set last = xmlDoc.documentElement.lastChild

WScript.Echo “First color: " & first.text WScript.Echo “Last color: " & last.text

Set xmlDoc = Nothing

The script loads an XML document with color values. It outputs both the first and last color nodes. This demonstrates how to access opposite ends of a node collection using these properties.

Processing Mixed Content Nodes

This example shows lastChild behavior with mixed content nodes. XML elements can contain both elements and text nodes. The script demonstrates identifying the actual last child in such cases.

mixed_content.vbs

Set xmlDoc = CreateObject(“Microsoft.XMLDOM”) xmlDoc.async = False xmlDoc.loadXML “<book>Introduction<chapter>1</chapter><chapter>2</chapter></book>”

Set lastChild = xmlDoc.documentElement.lastChild WScript.Echo “Last child node type: " & lastChild.nodeType WScript.Echo “Last child value: " & lastChild.text

Set xmlDoc = Nothing

The XML contains both text (“Introduction”) and element nodes. The script shows that lastChild correctly returns the last chapter node. Node type 1 indicates an element node, and its text value is displayed.

Source

XML DOM Documentation

In this article, we have explored the lastChild property in VBScript, covering its usage and practical applications. From basic node access to complex nested structures, these examples demonstrate efficient XML navigation. With this knowledge, you can enhance your XML processing scripts with robust node traversal.

Author

My name is Jan Bodnar and I am a passionate programmer with many years of programming experience. I have been writing programming articles since 2007. So far, I have written over 1400 articles and 8 e-books. I have over eight years of experience in teaching programming.

List all VBScript tutorials.

ad ad