VBScript 修改 XML 文件中的值

VBScript modify a value in a XML file

我正在学习 VBScript,我正在尝试使用 vbscript 修改 xml 文件上的值,但我总是遇到变量“colNode”的错误:

Microsoft VBScript Runtime Error: This object does not support this property or method: 'colNode.Text

这是我的 XML 文件:

<?xml version="1.0" encoding="utf-8"?>
<Configuration>
    <Text Name="Text1">Lorem ipsum dolor sit amet, consectetur adipiscing elit. </Text>
    <Text Name="Text2">Aliquam mattis quam lorem, ut sollicitudin dolor dignissim sed. </Text>
    <Text Name="Text3">Fusce cursus tellus eu consectetur rutrum.</Text>
</Configuration>

这是我的 VBScript 代码:

    Set xmlDoc = _
    CreateObject("Microsoft.XMLDOM")

    xmlDoc.Async = "False"
    xmlDoc.Load(".\message.xml")

    
    Set colNode=xmlDoc.selectNodes _
  ("//Configuration/Text[@Name='Text2']")

    
    colNode.Text = "It's a test!"  
    xmlDoc.Save "C:\Scripts\Audits.xml"

SelectNodes 方法 returns 节点集合(在本例中只有一个节点的集合),如果要使用它,则需要遍历该集合以进行更改集合中每个节点中的文本:

Set colNode=xmlDoc.SelectNodes("//Configuration/Text[@Name='Text2']")
For Each node In colNode
    node.Text = "It's a test!"
Next

然而,在您的示例中,您只想更改一个特定节点中的文本,因此您可以使用 SelectSingleNode 方法:

Set colNode=xmlDoc.SelectSingleNode("//Configuration/Text[@Name='Text2']")
colNode.Text = "It's a test!"