选择追随者标签,在msxml中选择tsinglenode



我如何选择MEDIUM从该xml与VBScript Msxml?

<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>

我目前选择了优先级标签,但我想要追随者reference_value的值MEDIUM:

xmlDoc.selectNodes("//insert_shipment/reference_list[reference_tag ='PRIORITY']")

循环现在不是一个选项,我只能选择那个

如果您确定只有一个目标节点,则使用.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

最新更新