需要使用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"
答案 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下面的代码没有经过测试