如何从带有VBScript Msxml的xml中选择MEDIUM
?
<reference_list>
<reference_tag>VAT</reference_tag>
<reference_value>123</reference_value>
</reference_list>
<reference_list>
<reference_tag>PRIORITY</reference_tag>
<reference_value>MEDIUM</reference_value>
</reference_list>
我目前选择了PRIORITY标签,但我想跟随者reference_value的值MEDIUM:
xmlDoc.selectNodes("//insert_shipment/reference_list[reference_tag ='PRIORITY']")
现在循环不是一个选项,我必须选择那个。
答案 0 :(得分:1)
如果您确定只有一个目标节点,请使用.selectSingleNode - 如:
Dim objXML : Set objXML = CreateObject("MSXML2.DOMDocument")
objXML.async = false
objXML.load "../data/24607195.xml"
If objXML.parseError Then ' never without my check
WScript.Echo objXML.parseError.reason
Else
'Find single reference_value MEDIUM
Dim sXPath : sXPath = "/insert_shipment/reference_list/reference_value[. = 'MEDIUM']"
Dim ndMedium : Set ndMedium = objXML.selectSingleNode(sXPath)
If ndMedium Is Nothing Then ' never without my check
WScript.Echo "fail:", sXPath
Else
WScript.Echo ndMedium.parentNode.firstChild.text, ndMedium.xml
End If
End If