VBScript parseError Property
last modified April 9, 2025
The parseError
property in VBScript provides information about
syntax errors in XML documents. It returns an object containing details about
the last parsing error. This property is available when working with the
Microsoft XML DOM objects. It's essential for robust XML processing.
parseError
helps identify line numbers, error codes, and error
descriptions. It enables developers to handle XML parsing issues gracefully.
This tutorial covers parseError
with practical examples to
demonstrate its usage.
parseError Property Overview
The parseError
property returns an IXMLDOMParseError object when
an XML parsing error occurs. It contains multiple properties that describe
the error. These include errorCode, line, linepos, and reason.
Key properties include errorCode (numeric error identifier) and reason (text description). The line and linepos properties pinpoint the error location. Understanding these properties helps create robust XML processing scripts.
Basic parseError Detection
This example demonstrates checking for XML parsing errors using the
parseError
property. It shows how to detect when an XML document
fails to load. The script loads malformed XML and checks for errors.
Set xmlDoc = CreateObject("Microsoft.XMLDOM") xmlDoc.async = False xmlDoc.loadXML "<root><item>Test</item" ' Missing closing bracket If xmlDoc.parseError.errorCode <> 0 Then WScript.Echo "Error Code: " & xmlDoc.parseError.errorCode WScript.Echo "Line: " & xmlDoc.parseError.line WScript.Echo "Reason: " & xmlDoc.parseError.reason End If Set xmlDoc = Nothing
The script creates an XML DOM object and attempts to load malformed XML. The
parseError
property is checked for non-zero errorCode. Error
details including line number and reason are displayed. This is the basic
pattern for error detection.
Checking Specific Error Conditions
This example shows how to check for specific error conditions using the
parseError
property. It demonstrates handling different types of
XML parsing errors. The script tests for well-formedness errors.
Set xmlDoc = CreateObject("Microsoft.XMLDOM") xmlDoc.async = False xmlDoc.loadXML "<root><item>Test</root>" ' Improper nesting If xmlDoc.parseError.errorCode <> 0 Then Select Case xmlDoc.parseError.errorCode Case -1072896659 WScript.Echo "XML not well-formed" Case -1072898022 WScript.Echo "Invalid character in XML" Case Else WScript.Echo "Unknown XML error" End Select End If Set xmlDoc = Nothing
The script attempts to load XML with improper nesting. It checks the errorCode and provides specific messages for known errors. This approach allows for targeted error handling. The case structure makes error responses more precise.
Loading XML from File with Error Handling
This example demonstrates using parseError
when loading XML from
a file. It shows comprehensive error handling for file operations. The script
checks both file access and XML parsing errors.
Set xmlDoc = CreateObject("Microsoft.XMLDOM") xmlDoc.async = False success = xmlDoc.load("nonexistent.xml") If Not success Then If xmlDoc.parseError.errorCode <> 0 Then WScript.Echo "XML Error: " & xmlDoc.parseError.reason WScript.Echo "File: " & xmlDoc.parseError.url Else WScript.Echo "Failed to load file (non-XML error)" End If End If Set xmlDoc = Nothing
The script attempts to load a non-existent XML file. It checks both the load return value and parseError properties. This provides complete error information. The example distinguishes between XML parsing and file access errors.
Creating Custom Error Messages
This example shows how to create user-friendly error messages using
parseError
properties. It formats error information for better
readability. The script combines multiple error properties.
Set xmlDoc = CreateObject("Microsoft.XMLDOM") xmlDoc.async = False xmlDoc.loadXML "<root><item>Test<item></root>" If xmlDoc.parseError.errorCode <> 0 Then errorMsg = "XML Parsing Error:" & vbCrLf & _ "Code: " & xmlDoc.parseError.errorCode & vbCrLf & _ "Line " & xmlDoc.parseError.line & ", Pos " & xmlDoc.parseError.linepos & vbCrLf & _ "Reason: " & xmlDoc.parseError.reason WScript.Echo errorMsg End If Set xmlDoc = Nothing
The script loads malformed XML and builds a detailed error message. It combines errorCode, line numbers, and reason into a formatted string. This approach produces professional-quality error reporting. The message is easier for users to understand.
Validating XML Against DTD
This example demonstrates using parseError
for DTD validation
errors. It shows how to detect schema violations. The script loads XML with
an invalid element.
Set xmlDoc = CreateObject("Microsoft.XMLDOM") xmlDoc.async = False xmlDoc.validateOnParse = True xmlDoc.loadXML "<?xml version='1.0'?><!DOCTYPE root [<!ELEMENT root (item)*><!ELEMENT item (#PCDATA)>]><root><invalid/></root>" If xmlDoc.parseError.errorCode <> 0 Then WScript.Echo "Validation Error: " & xmlDoc.parseError.reason WScript.Echo "Element: " & xmlDoc.parseError.srcText End If Set xmlDoc = Nothing
The script enables DTD validation and loads XML with an invalid element. The
parseError
property captures validation failures. The srcText
property shows the offending element. This is useful for debugging schema
compliance issues.
Source
XML DOM parseError Documentation
In this article, we have explored the parseError
property in
VBScript, covering its usage and practical applications. From basic error
detection to advanced validation scenarios, these examples demonstrate
effective XML error handling. With this knowledge, you can create more robust
XML processing scripts.
Author
List all VBScript tutorials.