ZetCode

VBScript Load 方法

最后修改于 2025 年 4 月 9 日

VBScript 中的 Load 方法是 XMLDOMDocument 对象的一部分。它从指定的文件或 URL 加载 XML 文档。此方法对于在 VBScript 应用程序中使用 XML 数据至关重要。它支持同步和异步加载模式。

Load 解析 XML 内容并构建文档对象模型。如果加载成功,则返回 True,否则返回 False。本教程将通过实际示例介绍 Load 方法,以演示其在各种场景下的用法。

Load 方法概述

Load 方法接受一个参数:XML 文件或 URL 的路径。它创建 XML 文档的内存表示。该方法可在 VBScript 中通过 MSXML2.DOMDocument 对象访问。

主要功能包括加载过程中的 XML 验证和错误处理。它同时支持本地文件和远程资源。理解此方法对于 VBScript 应用程序中的 XML 处理至关重要。

基本 XML 文件加载

此示例演示了使用 Load 读取 XML 文件的最简单用法。它展示了如何创建 XMLDOM 对象并加载本地文件。脚本会检查加载是否成功。

basic_load.vbs
Set xmlDoc = CreateObject("MSXML2.DOMDocument")
success = xmlDoc.Load("C:\data\config.xml")

If success Then
    WScript.Echo "XML loaded successfully"
Else
    WScript.Echo "Error loading XML: " & xmlDoc.parseError.reason
End If

Set xmlDoc = Nothing

该脚本创建一个 XMLDOMDocument 并尝试加载一个文件。它检查 Load 的返回值以确定是否成功。如果加载失败,它会显示解析错误的根本原因。这是 XML 处理的基础。

从 URL 加载 XML

此示例展示了如何从 Web URL 加载 XML 数据。它演示了 Load 方法获取远程资源的能力。相同的基本错误检查也适用于 URL 加载。

url_load.vbs
Set xmlDoc = CreateObject("MSXML2.DOMDocument")
xmlDoc.async = False
success = xmlDoc.Load("https://example.com/data/feed.xml")

If success Then
    WScript.Echo "Remote XML loaded successfully"
Else
    WScript.Echo "Error loading XML: " & xmlDoc.parseError.reason
End If

Set xmlDoc = Nothing

脚本将 async 设置为 False 以进行同步加载。然后,它尝试从 Web URL 加载 XML。错误处理与文件加载保持一致。这使得能够处理基于 Web 的 XML 服务。

异步加载与事件处理

此示例演示了异步 XML 加载和事件处理。它展示了如何响应加载完成。异步模式允许脚本在加载期间继续处理。

async_load.vbs
Set xmlDoc = CreateObject("MSXML2.DOMDocument")
xmlDoc.async = True

' Set up event handler
Set xmlDoc.onreadystatechange = GetRef("DocStateChange")

xmlDoc.Load("C:\data\large.xml")
WScript.Echo "Loading started..."

' Keep script running while loading
Do While xmlDoc.readyState <> 4
    WScript.Sleep 100
Loop

Sub DocStateChange
    If xmlDoc.readyState = 4 Then
        If xmlDoc.parseError.errorCode = 0 Then
            WScript.Echo "Asynchronous load complete"
        Else
            WScript.Echo "Load error: " & xmlDoc.parseError.reason
        End If
    End If
End Sub

Set xmlDoc = Nothing

脚本启用异步模式并设置事件处理程序。它开始加载并继续执行。事件处理程序会检查完成和错误。这种方法对于大文件或慢速网络非常有用。

加载时验证 XML

此示例展示了如何在加载过程中根据模式验证 XML。它演示了在调用 Load 之前设置验证属性。验证有助于确保 XML 符合预期的结构。

validate_load.vbs
Set xmlDoc = CreateObject("MSXML2.DOMDocument")
xmlDoc.validateOnParse = True
xmlDoc.resolveExternals = True

success = xmlDoc.Load("C:\data\order.xml")

If success Then
    WScript.Echo "Valid XML document loaded"
Else
    WScript.Echo "Validation error: " & xmlDoc.parseError.reason
End If

Set xmlDoc = Nothing

脚本启用验证和外部引用解析。Load 方法现在将验证 XML。任何验证错误都会出现在 parseError 对象中。这确保只处理有效的 XML。

直接加载 XML 字符串

此示例演示了从字符串而不是文件加载 XML。它使用 loadXML 方法,该方法与 Load 类似。当 XML 是以编程方式生成时,这很有用。

string_load.vbs
Set xmlDoc = CreateObject("MSXML2.DOMDocument")
xmlString = "<root><item>Test</item></root>"
success = xmlDoc.loadXML(xmlString)

If success Then
    WScript.Echo "XML string loaded successfully"
Else
    WScript.Echo "Error loading XML: " & xmlDoc.parseError.reason
End If

Set xmlDoc = Nothing

脚本创建一个 XML 字符串并直接加载它。与文件加载一样,同样的错误检查也适用。这种方法对于小的 XML 片段非常高效。它通常与动态生成的 XML 一起使用。

来源

XMLDOMDocument 文档

在本文中,我们探讨了 VBScript 中的 Load 方法,涵盖了其用法和实际应用。从基本的文件加载到高级的异步操作,这些示例展示了 XML 处理技术。有了这些知识,您就可以在 VBScript 应用程序中有效地处理 XML 数据。

作者

我叫 Jan Bodnar,是一名热情的程序员,拥有多年的编程经验。我从 2007 年开始撰写编程文章。到目前为止,我已撰写了 1400 多篇文章和 8 本电子书。我在编程教学方面有八年以上的经验。

列出所有 VBScript 教程