|
#1
|
|||
|
|||
Change XML element value
If I need to change the value of 'interface' node from an xml doc like below -what is the VBScript syntax ?
<nightlytrunk> <year>12</year> <quarter>1</quarter> <interface>1107</interface> <build>0</build> <builddescription>2012 M1</builddescription> <buildnumber>0</buildnumber> <produceinstallkits>1</produceinstallkits> </nightlytrunk> </intradaytrunk> This one from your sample is working for an attribute: Set elem = doc.selectSingleNode("appSettings/add[[@key='" & key & "']]") elem.setattribute "value", value but cannot manage to set interface node from 1107 to 1108 . |
#2
|
|||
|
|||
See attachment.
|
#3
|
|||
|
|||
Thanks.
Unfortunately I cannot use the native VBP "Write XML" step ,therefore I use a VBScript step . Finally I found the proper way : Set msxml = CreateObject("MSXML2.DOMDocument.6.0") msxml.async = False msxml.load "%VERSION_FILE%" Set bt = vbld_AllMacros()("BUILD_TYPE") Set vi = vbld_AllMacros()("VERS_INTERFACE") Set vix = vbld_AllMacros()("VERS_INTERFACE_XMLNODE") ' update some attributes UpdateNode msxml, bt.Value ,vix.Value ,vi.Value ' save the changes back out msxml.save "%VERSION_FILE%" ' function to update the value of a node Function UpdateNode(doc, bldtype,node, value) Set elem = doc.selectSingleNode("builds/"&bldtype&"/"&node) elem.text =value wscript.Echo "Node 'builds/"&bldtype&"/"&node&"' updated to:"&elem.text End Function |
|
|