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!"
我正在学习 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!"