我正在面对这一挑战,使用VBScript更改具有相同名称的xml文件中的节点值。以下是XML示例:
- <MappingData>
<Name>Name 1</Name>
- <ValueField FieldName="Name 2">
<CharValue>Value 1</CharValue>
</ValueField>
- <ValueField FieldName="Name 3">
<CharValue>Value 1</CharValue>
</ValueField>
我的要求是更改标记
的两次出现的值
<CharValue>
。 如果这些标签中有任何属性,我本可以这样做,但在这种情况下,我被卡住了。
我尝试了以下代码,但无法获得我需要的代码。
Set NodeList = objXMLDoc.documentElement.selectNodes("//MappingData/ValueField/CharValue")
For i = 0 To NodeList.length - 1
node.Text = "Value 1"
Next
感谢任何帮助。感谢。
答案 0 :(得分:0)
尝试以下代码
Set xDoc = CreateObject( "Msxml2.DOMDocument.6.0" )
xDoc.setProperty "SelectionLanguage", "XPath"
xDoc.async = False
xDoc.load "test.xml"
Set nNodes = xDoc.selectNodes("//MappingData/ValueField/CharValue")
For i = 0 To nNodes.Length - 1
nNodes(i).text = "Changed value " & i
Next
xDoc.Save "test.xml"