VBScript LoadXML Method
last modified April 9, 2025
The LoadXML method in VBScript is part of the Microsoft XML DOM
implementation. It loads an XML document from a string containing XML markup.
This method parses the XML string and builds a DOM tree in memory. It's
commonly used for XML processing in VBScript applications.
LoadXML provides a way to work with XML data directly from strings.
It's useful when XML content comes from sources other than files. This tutorial
covers LoadXML with practical examples to demonstrate its usage.
Understanding this method is essential for XML processing in VBScript.
LoadXML Method Overview
The LoadXML method belongs to the DOMDocument object.
It takes one parameter: a string containing well-formed XML. The method returns
True if loading succeeds, False otherwise. It replaces any existing document
content with the new XML.
Key features include in-memory XML parsing and DOM tree construction. The method
validates XML syntax but not against schemas. LoadXML is often
paired with other DOM methods for XML manipulation. It's available in MSXML
versions 2.0 and later.
Basic XML Loading
This example demonstrates the simplest use of LoadXML to parse an
XML string. It shows how to create a DOMDocument and load XML content. The
example then verifies the loading was successful.
Set xmlDoc = CreateObject("MSXML2.DOMDocument")
xmlString = "<root><item>Test</item></root>"
success = xmlDoc.LoadXML(xmlString)
If success Then
WScript.Echo "XML loaded successfully"
WScript.Echo xmlDoc.xml
Else
WScript.Echo "Error loading XML"
End If
Set xmlDoc = Nothing
The script creates a DOMDocument and calls LoadXML.
The XML string "<root><item>Test</item></root>" is
parsed into a DOM tree. The method returns True, indicating success. The XML
content is then echoed back.
Handling XML Errors
This example shows how to handle errors when loading malformed XML. It demonstrates checking the parseError object after a failed load. The script provides detailed error information.
Set xmlDoc = CreateObject("MSXML2.DOMDocument")
xmlString = "<root><item>Test</item" ' Missing closing tag
success = xmlDoc.LoadXML(xmlString)
If Not success Then
Set err = xmlDoc.parseError
WScript.Echo "Error loading XML:"
WScript.Echo "Line: " & err.line
WScript.Echo "Position: " & err.linepos
WScript.Echo "Reason: " & err.reason
End If
Set xmlDoc = Nothing
The script attempts to load invalid XML (missing closing tag).
LoadXML returns False, indicating failure. The parseError object
provides details about the error. This helps diagnose and fix XML syntax issues
in scripts.
Loading XML with Namespaces
This example demonstrates loading XML containing namespaces. It shows how
LoadXML handles namespace declarations. The script then accesses
elements using their namespace-qualified names.
Set xmlDoc = CreateObject("MSXML2.DOMDocument")
xmlString = "<ns:root xmlns:ns='http://example.com'>" & _
"<ns:item>Value</ns:item></ns:root>"
success = xmlDoc.LoadXML(xmlString)
If success Then
Set node = xmlDoc.selectSingleNode("//ns:item")
WScript.Echo node.text ' Output: Value
End If
Set xmlDoc = Nothing
The script loads XML with a namespace declaration. LoadXML correctly
parses the namespace information. The script then uses XPath with namespace
prefix to access elements. This shows proper namespace handling in VBScript XML
processing.
Modifying Loaded XML
This example shows how to modify XML after loading it with LoadXML.
It demonstrates adding new elements to the parsed DOM tree. The modified XML is
then output.
Set xmlDoc = CreateObject("MSXML2.DOMDocument")
xmlString = "<root><item>Original</item></root>"
success = xmlDoc.LoadXML(xmlString)
If success Then
Set newElem = xmlDoc.createElement("newItem")
newElem.text = "Added"
xmlDoc.documentElement.appendChild newElem
WScript.Echo xmlDoc.xml
End If
Set xmlDoc = Nothing
The script loads basic XML and adds a new element. LoadXML creates
the initial DOM structure. The script then creates and appends a new element.
Finally, it outputs the modified XML showing the changes.
Loading XML with CDATA Sections
This example demonstrates LoadXML handling XML containing CDATA
sections. CDATA preserves special characters in text content. The script shows
how to access CDATA content after loading.
Set xmlDoc = CreateObject("MSXML2.DOMDocument")
xmlString = "<root><![CDATA[<This> is & CDATA content]]></root>"
success = xmlDoc.LoadXML(xmlString)
If success Then
WScript.Echo xmlDoc.documentElement.text
End If
Set xmlDoc = Nothing
The script loads XML containing a CDATA section. LoadXML correctly
parses the CDATA content. The script then accesses the text content, which
includes the special characters. This shows CDATA handling in VBScript XML
processing.
Source
MSXML DOMDocument Documentation
In this article, we have explored the LoadXML method in VBScript,
covering its usage and practical applications. From basic XML loading to handling
complex cases like namespaces and CDATA, these examples demonstrate reliable XML
processing. With this knowledge, you can enhance your scripts with robust XML
handling capabilities.
Author
List all VBScript tutorials.