VBScript CreateNode 方法
最后修改于 2025 年 4 月 9 日
VBScript 中的 CreateNode
方法是 Microsoft XML DOM 实现的一部分。它为 XML 文档创建一个指定类型的节点。此方法对于以编程方式构建或修改 XML 结构至关重要。它提供了 XML 文档操作的灵活性。
CreateNode
允许创建各种节点类型,包括元素、属性和文本节点。它通常在 XML 处理脚本中使用。本教程通过实际示例介绍 CreateNode
,以演示其在不同场景下的用法。
CreateNode 方法概述
CreateNode
方法接受三个参数:节点类型、节点名称和命名空间 URI。它返回一个可以插入 XML 文档的新节点对象。该方法可通过 VBScript 中的 MSXML DOMDocument 对象访问。
主要功能包括支持所有标准的 XML 节点类型和命名空间意识。它不会自动将节点添加到文档树。CreateNode
是动态 XML 生成的基础。理解此方法有助于创建健壮的 XML 处理脚本。
创建简单的元素节点
此示例演示了如何使用 CreateNode
创建一个基本的元素节点。它展示了如何创建节点并将其附加到文档。该示例创建一个作为根子节点的“book”元素。
Set xmlDoc = CreateObject("MSXML2.DOMDocument") xmlDoc.async = False xmlDoc.loadXML "<library></library>" Set root = xmlDoc.documentElement Set newNode = xmlDoc.createNode(1, "book", "") root.appendChild newNode WScript.Echo xmlDoc.xml Set xmlDoc = Nothing
脚本创建一个具有根“library”元素的 XML 文档。然后创建一个“book”元素节点(类型 1)并将其附加。输出显示带有新节点的完整 XML。这演示了基本的节点创建和插入。
创建文本节点
此示例展示了如何创建文本节点并将其添加到元素中。文本节点是向 XML 元素添加内容的基础。该示例创建一个带有文本内容的 title 元素。
Set xmlDoc = CreateObject("MSXML2.DOMDocument") xmlDoc.async = False xmlDoc.loadXML "<book></book>" Set book = xmlDoc.documentElement Set titleNode = xmlDoc.createNode(1, "title", "") Set textNode = xmlDoc.createNode(3, "", "") textNode.text = "VBScript Programming" titleNode.appendChild textNode book.appendChild titleNode WScript.Echo xmlDoc.xml Set xmlDoc = Nothing
脚本创建一个没有名称的文本节点(类型 3)。它设置节点的文本内容并将其附加到 title 元素。然后将 title 元素添加到 book 元素。这显示了分层节点构造。
创建属性节点
此示例演示了如何为元素创建属性节点。属性提供元素的其他信息。该示例向 book 元素添加了一个“id”属性。
Set xmlDoc = CreateObject("MSXML2.DOMDocument") xmlDoc.async = False xmlDoc.loadXML "<library><book/></library>" Set book = xmlDoc.selectSingleNode("//book") Set attrNode = xmlDoc.createNode(2, "id", "") attrNode.text = "B001" book.attributes.setNamedItem attrNode WScript.Echo xmlDoc.xml Set xmlDoc = Nothing
脚本创建一个名为“id”的属性节点(类型 2)。它设置属性值并将其添加到 book 元素。属性的添加方式与其他节点不同。这显示了属性的专用节点处理。
创建带命名空间的节点
此示例展示了如何创建带命名空间的节点。命名空间有助于避免元素名称冲突。该示例在自定义命名空间中创建一个元素。
Set xmlDoc = CreateObject("MSXML2.DOMDocument") xmlDoc.async = False xmlDoc.loadXML "<lib:library xmlns:lib='http://example.com/library'/>" Set root = xmlDoc.documentElement Set newNode = xmlDoc.createNode(1, "lib:book", "http://example.com/library") root.appendChild newNode WScript.Echo xmlDoc.xml Set xmlDoc = Nothing
脚本创建一个带命名空间的“book”元素。命名空间 URI 必须与文档的声明匹配。输出显示正确的命名空间前缀用法。这演示了 VBScript 中的高级 XML 功能。
创建复杂的 XML 结构
此示例结合了多种节点类型来构建复杂的结构。它展示了如何使用 CreateNode
来生成完整的 XML 文档。该示例创建了一个图书目录条目。
Set xmlDoc = CreateObject("MSXML2.DOMDocument") xmlDoc.async = False xmlDoc.loadXML "<catalog></catalog>" Set catalog = xmlDoc.documentElement Set book = xmlDoc.createNode(1, "book", "") Set title = xmlDoc.createNode(1, "title", "") Set titleText = xmlDoc.createNode(3, "", "") titleText.text = "Advanced VBScript" title.appendChild titleText book.appendChild title catalog.appendChild book WScript.Echo xmlDoc.xml Set xmlDoc = Nothing
脚本构建了一个包含图书条目的目录,该图书条目包含标题。它演示了嵌套节点创建和正确的文档结构。组合了多种节点类型。这展示了实际的 XML 生成技术。
来源
在本文中,我们探讨了 VBScript 中的 CreateNode
方法,涵盖了其用法和实际应用。从简单的元素到复杂的带命名空间的结构,这些示例都展示了 XML 操作。有了这些知识,您就可以通过动态节点创建来增强您的 XML 处理脚本。