XPath查询应该返回多个结果,但只返回一个

时间:2016-02-26 13:48:46

标签: xpath vbscript

我的XPath返回一个值列表,我将其分配给VBScript中的变量,但结果只显示一个值。

我应该如何处理?

Dim sXPath : sXPath = "/project//namespace/namespace/querySubject/queryItem[contains(., 'searchTerm')]/ancestor-or-self::*/name"
Dim querySubject : Set querySubject = objMSXML.selectSingleNode(sXPath)
If querySubject Is Nothing Then
    WScript.Echo sXPath, "failed"
Else
    WScript.Echo "QuerySubjcet:", querySubject.text

这里XPath返回一个列表:

Test
Database Layer
qsxyz
qixyz

但脚本的输出只是第一个字符串,即Test

1 个答案:

答案 0 :(得分:4)

如果你使用selectSingleNode,你会得到一个节点,你宁愿想要

For Each node In objMSXML.selectNodes(sXPath)
  WScript.Echo node.text
Next