VBscript编辑xml文件

时间:2014-03-18 15:02:32

标签: xml vbscript

需要使用VBscript编辑单个XML文件的帮助。我发现了很多编辑xml值的例子,我已经将它们用于编辑我的xml文件,但是还没有成功。

我的xml文件如下所示:

<?xml version="1.0" encoding="utf-8" ?> 
- <configuration>
  <add key="kiosk_identifier" value="PC1" />  
  <add key="kiosk_gui_skin" value="FLA" /> 
  </configuration>

我希望脚本进入并将值“PC1”编辑为用户在输入框中输入的变量。我的私有代码如下所示。

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

xmlDoc.Async = "False"
xmlDoc.Load("C:\Scripts\Configuration.xml")

Set colNodes=xmlDoc.selectNodes _
  ("//configuration['@add key'='PC1']")

    strNAME = Inputbox("Enter a hostname:", "Hostname Config", "HOSTNAME")

For Each objNode in colNodes
   objNode.Text = strNAME
Next

xmlDoc.Save "C:\Scripts\Configuration.xml"

1 个答案:

答案 0 :(得分:1)

如果您只有一个属性为“value”的节点= PC1,请尝试此

Set colNode = xmlDoc.selectSingleNode("//configuration/add[@value='PC1']")
strNAME = Inputbox("Enter a hostname:", "Hostname Config", "HOSTNAME")
colNode.Attributes.getNamedItem("value").Text = strName
xmlDoc.Save "C:\Scripts\Configuration.xml"

使用键值“kiosk_identifier”更改所有节点的属性“value”的值:

dim strXPath, colNodes, strNAME, objNode

strXPath = "//configuration/key[@value='kiosk_identifier']"
set colNodes = xmlDoc.DocumentElement.SelectNodes(strXPath)
strNAME = Inputbox("Enter a hostname:", "Hostname Config", "HOSTNAME")

for each objNode in colNodes
  objNode.Attributes.getNamedItem("value").Text = strName
next

xmlDoc.Save "C:\Scripts\Configuration.xml"

P.S下面的代码没有经过测试