我一直在遍尋網絡,尋找一種乾淨的方式來使用VBS更改XML節點中的2個屬性(不幸的是,我只能通過此客戶端選擇此屬性)。在XML中有一個節點,看起來像這樣:我需要在VBS中更改XML文檔中的屬性
<lot id="ajhgkhga" lot="1" block="1" section="73R">
我需要將其更改爲這個(並保留XML文檔的其餘部分):
<lot id="ajhgkhga" lot="1" block="22" section="55">
我在被劈砍而去VBS大部分時間和這裏是我現在的位置:
Dim objXMLDoc
Dim objXMLElement
Dim objXMLNodeList
Dim numObjXMLNodeList
Dim i
Dim lot
Dim section
Dim attr
set objXMLDoc = CreateObject("Microsoft.XMLDOM")
objXMLDoc.async = "false"
objXMLDoc.load("section73R.xml")
Set objXMLNodeList = objXMLDoc.getElementsByTagName("lot")
numObjXMLNodeList = objXMLNodeList.length
For i = 0 to numObjXMLNodeList - 1
' current value of the block and section attributes of the lot element
block = objXMLNodeList.item(i).getAttribute("block")
section = objXMLNodeList.item(i).getAttribute("section")
'Wscript.Echo block & " " & section
' new value of the block and section attributes of the lot element
objXMLNodeList.item(i).setAttribute "block", "22"
objXMLNodeList.item(i).setAttribute "section", "55"
Next
這會引發上述錯誤。我的VBS排行榜在這一點上幾乎沒有,我很長一段時間沒做過。上面的代碼只是爲了試圖讀取這些屬性而設計的,我認爲一旦有了替換值就不會太難。
任何人都可以幫我實際弄清楚如何替換這些值嗎?這樣做讓我看看我在這個劇本中有多遠?提前致謝!
編輯:我現在可以得到兩個屬性值(見上面的代碼更改)。我現在需要的只是一種將新屬性值寫入XML文件的方法,這將成爲一筆交易。任何人都可以給我任何指針?
編輯#2:我能夠很快解決它,一旦我能夠檢索屬性值,我已經編輯了上面的代碼。
所以我很困惑......這個問題是否解決了?如果你已經解決了這個問題,你應該單獨留下問題並添加一個答案來解釋解決方案是什麼,以便未來的訪問者能夠受益。如果問題沒有解決,很難說修改後的實際問題是什麼。拋出的錯誤在哪裏? – 2012-04-28 04:56:19