Количество XPath в VBScript - PullRequest
       7

Количество XPath в VBScript

6 голосов
/ 27 февраля 2009

Я пытаюсь получить число определенных узлов в файле XML с помощью функции подсчета XPath, однако при этом возвращается ошибка «Исключение типа« msxml3.dll: выражение не возвращает узел DOM ». 1001 *

Как получить возвращаемое значение из счетчика XPath с использованием VBScript и MSXML DOM

Dim oXML    
Dim homeId
Dim awayId
Dim homeGoals
Dim awayGoals
Set oXML = Server.CreateObject("Microsoft.XMLDOM")

oXML.async = false
oXML.SetProperty "SelectionLanguage", "XPath"
oXML.SetProperty "ServerHTTPRequest", True
oXML.validateOnParse = False
oXML.resolveExternals = False

fileName = "http://server:8090/data/results/m12345.xml")
oXML.load (fileName)

homeId = oXML.SelectSingleNode("/SoccerMatch/Team[@homeOrAway='Home']/@id").text
awayId = oXML.SelectSingleNode("/SoccerMatch/Team[@homeOrAway='Away']/@id").text
Set homeGoals = oXML.SelectSingleNode("count(/SoccerMatch/Goals/Goal[@teamId="&homeId&"])")
Set awayGoals = oXML.SelectSingleNode("count(/SoccerMatch/Goals/Goal[@teamId="&awayId&"])")

1 Ответ

11 голосов
/ 27 февраля 2009

Вы можете использовать только те XPath, которые возвращают узлы в MSXML, другие функции XPath можно использовать только в предикатах, которые в конечном итоге приводят к выбору узлов.

Использование: -

homeGoals = oXML.SelectNodes("/SoccerMatch/Goals/Goal[@teamId="&homeId&"]").length
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...