ZetCode

VBScript nodeValue 属性

最后修改于 2025 年 4 月 9 日

VBScript 中的 nodeValue 属性是 XML DOM (Document Object Model) 的一部分。它表示节点的 **值**,具体取决于节点的类型。对于文本节点,它包含实际的文本内容。对于属性节点,它包含属性值。此属性对于 VBScript 中的 XML 处理至关重要。

nodeValue 允许读取和修改 XML 文档中的节点内容。它可用于文本节点、注释节点和属性节点。理解此属性对于有效的 XML 操作至关重要。本教程将通过实际示例介绍 nodeValue

nodeValue 属性概述

nodeValue 属性返回或设置当前节点的值。其行为因节点类型而异。对于元素节点,它返回 null。对于文本节点,它返回文本内容。对于属性,它返回属性值。

主要功能包括直接访问节点内容和简单的修改能力。对于大多数适用的节点类型,它是可读写的。该属性在 XML DOM 中的所有节点对象上均可用。掌握 nodeValue 可以实现高效的 XML 数据处理。

读取文本节点的值

此示例演示了如何读取文本节点的值。它加载了一个简单的 XML 字符串并提取了文本内容。脚本展示了如何访问文本节点的 nodeValue 属性。

read_text_node.vbs
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmlDoc.async = False
xmlDoc.loadXML "<book><title>VBScript Guide</title></book>"

Set titleNode = xmlDoc.documentElement.firstChild
textContent = titleNode.firstChild.nodeValue

WScript.Echo textContent ' Output: VBScript Guide

Set xmlDoc = Nothing

该脚本创建了一个包含书籍标题的 XML 文档。它访问了 title 元素内的文本节点。nodeValue 属性返回“VBScript Guide”。这演示了从 XML 中检索基本文本内容。

修改文本节点的值

此示例展示了如何使用 nodeValue 修改文本节点的内容。它加载了一个 XML 文档并更新了一个文本节点。然后通过读回值来验证更改。

modify_text_node.vbs
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmlDoc.async = False
xmlDoc.loadXML "<person><name>John</name></person>"

Set nameNode = xmlDoc.documentElement.firstChild
nameNode.firstChild.nodeValue = "Jane"

updatedName = nameNode.firstChild.nodeValue
WScript.Echo updatedName ' Output: Jane

Set xmlDoc = Nothing

该脚本通过为 nodeValue 分配新值,将名称从“John”更改为“Jane”。这演示了如何动态更新 XML 内容。该属性提供了对文本节点内容的直接写入访问。

读取属性值

此示例说明了如何使用 nodeValue 读取属性值。它处理一个包含属性的 XML 元素。脚本展示了如何访问属性节点及其值。

read_attribute.vbs
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmlDoc.async = False
xmlDoc.loadXML "<product id='P100' status='active'/>"

Set productNode = xmlDoc.documentElement
Set idAttr = productNode.getAttributeNode("id")

attrValue = idAttr.nodeValue
WScript.Echo attrValue ' Output: P100

Set xmlDoc = Nothing

该脚本从 product 元素中检索了“id”属性的值。当访问属性节点时,nodeValue 属性返回“P100”。这展示了 XML 处理中的属性值访问。

修改属性值

此示例演示了如何使用 nodeValue 修改属性值。它更新了 XML 属性并验证了更改。脚本展示了属性操作的实际应用。

modify_attribute.vbs
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmlDoc.async = False
xmlDoc.loadXML "<user role='guest'/>"

Set userNode = xmlDoc.documentElement
Set roleAttr = userNode.getAttributeNode("role")

roleAttr.nodeValue = "admin"
updatedRole = roleAttr.nodeValue

WScript.Echo updatedRole ' Output: admin

Set xmlDoc = Nothing

该脚本通过修改属性的 nodeValue,将用户的角色从“guest”更改为“admin”。这演示了动态属性更新。该属性允许读取和写入属性值。

处理注释节点

此示例展示了如何使用 nodeValue 访问注释节点的内容。它处理包含注释的 XML 文档。脚本提取并显示了注释文本。

comment_node.vbs
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmlDoc.async = False
xmlDoc.loadXML "<!-- Sample comment --><data/>"

Set commentNode = xmlDoc.firstChild
commentText = commentNode.nodeValue

WScript.Echo commentText ' Output: Sample comment

Set xmlDoc = Nothing

该脚本访问了位于根元素之前的注释节点。nodeValue 属性在不包含标记的情况下返回注释文本。这展示了 XML 文档中的注释处理。

来源

XML DOM 文档

在本文中,我们探讨了 VBScript 中的 nodeValue 属性,涵盖了其与不同节点类型的用法。从文本节点到属性和注释,这些示例展示了通用的 XML 内容操作。通过这些知识,您可以有效地处理和修改 VBScript 中的 XML 文档。

作者

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

列出所有 VBScript 教程