给定以下 XML 文件:
<packages>
<package name="Library">
<distributionPoints>
<distributionPoint path="http://SERVER001/SMS_DP_SMSPKGD$/CEN0003B/" />
<distributionPoint path="http://SERVER002/SMS_DP_SMSPKGD$/CEN0003B/" />
</distributionPoints>
<package name="SystemFiles">
<distributionPoints>
<distributionPoint path="http://SERVER001/SMS_DP_SMSPKGD$/CEN00262/" />
<distributionPoint path="http://SERVER002/SMS_DP_SMSPKGD$/CEN00262/" />
</distributionPoints>
</package>
</packages>
我正在调用以下函数以从“SystemFiles”节点检索信息:“http://SERVER001/SMS_DP_SMSPKGD$/CEN00262/”“http://SERVER002/SMS_DP_SMSPKGD$/CEN00262/”
我能够检索节点“SystemFiles”,但在尝试从其中检索信息时遇到问题。这是我的功能:
Function GetDistributionPath(packageName)
Dim foundPackageName
foundPackageName = false
Set objXml = CreateObject("Microsoft.XMLDOM")
If objXml.Load("Package.xml") Then
WScript.Echo "loaded successfully."
Else
WScript.Echo "I was not able to load XML doc Package.xml!"
WScript.Quit(1)
End If
Set packageNodes = objXml.documentElement.SelectNodes("//package")
For Each packageNode in packageNodes
If Not IsNull(packageNode.getAttribute("name")) Then
name = packageNode.getAttribute("name")
End If
If name = packageName Then
foundPackageName = true
'Get the DistributionPoint Paths
'THIS CODE BELOW IS NOT WORKING <=====
'Set distributionPointNodes = packageNode.SelectNodes("//distributionPoint")
'For Each distributionPointNode in distributionPointNodes
' distributionPointName = distributionPointNode.getAttribute("path")
' WScript.Echo "path: " & distributionPointName
'Next
Exit For
End If
Next
Set objXml = Nothing
If Not foundPackageName Then
WScript.Echo "I could not find package name " & packageName & " in Package.xml!"
WScript.Quit(1)
End If
End Function
'Other approache did not work as well
'Set objNode = objXml.selectSingleNode("packages/package[@name='SystemFiles']")
'WScript.Echo "Path: " & objNode.getAttribute("path")