VBScript LoadXML 方法
最后修改于 2025 年 4 月 9 日
VBScript 中的 LoadXML
方法是 Microsoft XML DOM 实现的一部分。它从包含 XML 标记的字符串加载 XML 文档。此方法解析 XML 字符串并在内存中构建 DOM 树。它常用于 VBScript 应用程序中的 XML 处理。
LoadXML
提供了一种直接从字符串处理 XML 数据的方法。当 XML 内容来自文件以外的来源时,它非常有用。本教程通过实际示例涵盖 LoadXML
以演示其用法。理解此方法对于 VBScript 中的 XML 处理至关重要。
LoadXML 方法概述
LoadXML
方法属于 DOMDocument
对象。它接受一个参数:一个包含格式正确的 XML 的字符串。如果加载成功,该方法返回 True,否则返回 False。它会用新的 XML 替换任何现有的文档内容。
主要功能包括内存中 XML 解析和 DOM 树构建。该方法验证 XML 语法,但不验证 XML 模式。LoadXML
通常与其他 DOM 方法配对用于 XML 操作。它在 MSXML 2.0 及更高版本中可用。
基本 XML 加载
此示例演示了 LoadXML
解析 XML 字符串的最简单用法。它展示了如何创建 DOMDocument 并加载 XML 内容。然后,示例验证加载是否成功。
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
该脚本创建一个 DOMDocument
并调用 LoadXML
。XML 字符串“<root><item>Test</item></root>”被解析到 DOM 树中。该方法返回 True,表示成功。然后将 XML 内容回显出来。
处理 XML 错误
此示例演示了在加载格式错误的 XML 时如何处理错误。它演示了在加载失败后检查 parseError 对象。该脚本提供详细的错误信息。
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
该脚本尝试加载无效 XML(缺少闭合标签)。LoadXML
返回 False,表示失败。parseError 对象提供了错误的详细信息。这有助于诊断和修复脚本中的 XML 语法问题。
加载带命名空间的 XML
此示例演示了加载包含命名空间的 XML。它展示了 LoadXML
如何处理命名空间声明。然后,该脚本使用带命名空间前缀的名称来访问元素。
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
该脚本加载了带命名空间声明的 XML。LoadXML
正确解析了命名空间信息。然后,该脚本使用带命名空间前缀的 XPath 来访问元素。这表明了 VBScript XML 处理中的正确命名空间处理。
修改已加载的 XML
此示例展示了如何在加载 LoadXML
后修改 XML。它演示了向已解析的 DOM 树添加新元素。然后输出修改后的 XML。
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
该脚本加载基本 XML 并添加一个新元素。LoadXML
创建了初始的 DOM 结构。然后,脚本创建并附加了一个新元素。最后,它输出了显示更改的修改后的 XML。
加载带 CDATA 部分的 XML
此示例演示了 LoadXML
处理包含 CDATA 部分的 XML。CDATA 会保留文本内容中的特殊字符。该脚本展示了加载后如何访问 CDATA 内容。
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
该脚本加载了包含 CDATA 部分的 XML。LoadXML
正确解析了 CDATA 内容。然后,该脚本访问文本内容,其中包括特殊字符。这表明了 VBScript XML 处理中的 CDATA 处理。
来源
在本文中,我们探讨了 VBScript 中的 LoadXML
方法,涵盖了其用法和实际应用。从基本的 XML 加载到处理命名空间和 CDATA 等复杂情况,这些示例展示了可靠的 XML 处理。有了这些知识,您就可以用强大的 XML 处理功能来增强您的脚本。