Я использую классический "ASP", не обманывайте меня. Просто еще не удалось перейти на .Net. Я только изучаю мыло и успешно создаю SOAP-запрос к веб-сервису. Однако я не могу понять, как проанализировать ответ и вытащить один узел. Я использую MS DOM для загрузки ответа в документ. Я могу получить ответ на экран. Я пробовал следующее, но я не могу получить доступ к любому node_text по отдельности.
'Set the XML Object
Set xmlDoc = Server.CreateObject("Microsoft.XMLDOM")
'Set Asynchoronous = false
xmlDoc.async = False
'Load the XML file.
'User Server.MapPath method is the XML is located in your site.
'Else you can use the absolute path.
xmlDoc.Load (strResult)
'If there is any errors pasring the file the notify
If xmlDoc.parseError.errorCode = 0 Then
Response.Write "Error Parsing XML"
Response.Write "Rason :" & xmlDoc.parseError.reason & "Error Line: " & xmlDoc.parseError.line
End If
'Get ALL the Elements by the tag name book
Set sessionid = xmlDoc.getElementsByTagName("session_id")
'Now Iterate through the List and Display
response.write"sessionid ="&sessionid&"<BR>"
For i = 0 to (sessionid.Length-1)
Response.Write "session_id " & sessionid.item(i).childNodes(0).text & "<br/>"
Next
Вот ответ, который я пытаюсь разобрать
<ns:getSessionResponse xmlns:ns="http://services.axis.openmeetings.org">
<ns:return xmlns:ax217="http://basic.beans.data.app.openmeetings.org/xsd"
xmlns:ax218="http://basic.beans.hibernate.app.openmeetings.org/xsd"
type="org.openmeetings.app.hibernate.beans.basic.Sessiondata">
<ax218:id>71</ax218:id>
<ax218:language_id xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" />
<ax218:organization_id xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" />
<ax218:refresh_time>2010-11-04T15:17:13.717Z</ax218:refresh_time>
<ax218:sessionXml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" />
<ax218:session_id>5f0415d9cdb72681816095debf3735de</ax218:session_id>
<ax218:starttermin_time>2010-11-04T15:17:13.717Z</ax218:starttermin_time>
<ax218:storePermanent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" />
<ax218:user_id xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" />
</ns:return>
</ns:getSessionResponse>
Мне нужно вытащить session_id из этой пары, но, похоже, я не могу это сделать. И да, я надеюсь перейти на .NET в ближайшее время.