Требуется ошибка при получении объекта при использовании selectSingleNode - PullRequest
0 голосов
/ 13 сентября 2018

Мне нужно создать одну функцию, где я могу передать предопределенный xml и ключ, и эта функция вернет мне значение.Допустим, мой ключ имеет значение FLGVIEWALL, тогда мой код должен вернуть мне значение true или false.Этот код был создан с использованием классического ASP и, кажется, работает раньше.это может быть проблема с форматом xml или чем-то еще, теперь он возвращает мне ошибку в строке selectsinglenode .. требуется объект.Может ли кто-нибудь помочь мне, почему я получаю это .. что я делаю здесь не так.

    Function GetNodeValueText(strRet, key)
        ' Initializes the node value
        dim nodeValue

        ' Creates the DOM xml
        Set objRet = CreateObject("MSXML2.DOMDocument")
        objRet.loadXML strRet
        objRet.setProperty "SelectionLanguage", "XPath" 
        objRet.setProperty "SelectionNamespaces", "xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:ns='http://myserver.com' " & _
            "xmlns:map='http://ws.apache.org/namespaces/axis2/map' xmlns:ax241='http://rpc.xml.coldfusion/xsd' " & _
            "xmlns:xs='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'"

        ' Gets the node value
        Set nodeValue = objRet.selectSingleNode("//ax241:entries[ax241:key='" & key & "']/ax241:value")

        ' Sets the return
        GetNodeValueText = nodeValue.text
    End Function

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
	<getADUserInfoResponse xmlns="http://myserver.com">
		<getADUserInfoReturn xsi:type="ns1:Map" xmlns:ns1="http://xml.apache.org/xml-soap">
			<item xmlns="">
				<key xsi:type="xsd:string">STATUS</key>
				<value xsi:type="xsd:string">Success</value>
			</item>
			<item xmlns="">
				<key xsi:type="xsd:string">ADUSERINFO</key>
				<value xsi:type="ns1:Map">
					<item>
						<key xsi:type="xsd:string">RESULTS</key>
						<value xsi:type="xsd:string">true</value>
					</item>
					<item>
						<key xsi:type="xsd:string">STCADUSERINFO</key>
						<value xsi:type="ns1:Map">
							<item>
								<key xsi:type="xsd:string">ACCOUNTDISABLED</key>
								<value xsi:type="xsd:string">false</value>
							</item>
							<item>
								<key xsi:type="xsd:string">CHALANSW</key>
								<value xsi:type="xsd:string">mom</value>
							</item>
							<item>
								<key xsi:type="xsd:string">FIRSTNAME</key>
								<value xsi:type="xsd:string">test</value>
							</item>
							<item>
								<key xsi:type="xsd:string">DTELASTLOGON</key>
								<value xsi:type="xsd:string"></value>
							</item>
							<item>
								<key xsi:type="xsd:string">CN</key>
								<value xsi:type="xsd:string">Gyan</value>
							</item>
							<item>
								<key xsi:type="xsd:string">EMAIL</key>
								<value xsi:type="xsd:string">gyan@gmail.com</value>
							</item>
							<item>
								<key xsi:type="xsd:string">FLGVIEWALL</key>
								<value xsi:type="xsd:string">true</value>
							</item>
							
						</value>
					</item>
				</value>
			</item>
		</getADUserInfoReturn>
	</getADUserInfoResponse>
</soapenv:Body>
</soapenv:Envelope>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...