2014-06-30 33 views
0

我已經查看了幾個線程,瞭解如何找到XML節點並更改屬性。然而,我找不到解決我的問題:找到具有特定屬性的XML節點並對其進行更改

我有一個XML節點下有幾個節點下具有相同的名稱(但不同的屬性)。例如:

<Configuration> 
    <ConfigOptions> 
    <add key="Localize" value="Off" /> 
    <add key="Cache" value="Database" /> 
    <add key= etc........ 

我需要使用一個簡單的VBScript來定位<add>節點,在key="Cache",然後將值更改爲別的東西。

+1

首先,要明白你正在努力尋找什麼。我建議閱讀XML DOM的初學者指南:http://msdn.microsoft.com/en-us/library/aa468547.aspx。 key =「Cache」中的鍵是一個屬性。另外,看看這裏:http://stackoverflow.com/questions/2225958/using-asp-vb-to-get-value-of-a-node-attribute。然後,添加您嘗試過的代碼以及您卡住的位置。 – phaedra

+1

看看http://stackoverflow.com/a/11782233/603855有幫助。 –

回答

2

使用xpath syntax選擇節點

Set xmlDoc = CreateObject("Msxml2.DOMDocument.6.0") 
xmlDoc.load strXMLPath 
Set node = xmlDoc.selectNodes("//Configuration/ConfigOptions/add[@key='Cache']") 
strOldValue = node.item(0).attributes.getNamedItem("value").text 

然後更改值

node.item(0).attributes.getNamedItem("value").text = strNewValue 

然後保存XML文件

xmlDoc.save strXMLPath 
+0

這正是我一直在尋找和做的工作。非常感謝! – user3791158

相關問題