Обработка SOAP XML, когда элемента нет - PullRequest
0 голосов
/ 26 марта 2019

Ответ SOAP, который я получаю, может иметь или не иметь определенный элемент в ответе.Элемент «GetRateQuoteResponse / GetRateQuoteResult / TotalAccessorialCharge» может быть возвращен в зависимости от запроса, который я делаю в веб-сервисе.Я не вижу, как найти правильный способ проверить наличие элементов.Прямо сейчас я устанавливаю ловушку ошибки с блоком TRY, чтобы поймать и обойти ошибку.Я бы предпочел сделать это правильно.

Любая помощь будет с благодарностью оценена

Точка отказа (перед добавлением блока try)

Dim Tcharge As Double = Convert.ToDouble (cfnroot.SelectNodes ("GetRateQuoteResponse /GetRateQuoteResult / TotalAccessorialCharge "). Пункт (0) .InnerText)

1 Ответ

0 голосов
/ 26 марта 2019

Возможно, что-то подобное? Проверка, возвращает ли SelectNodes какие-либо узлы в списке узлов, прежде чем пытаться получить доступ к значениям.

Dim Tcharge As Double 

If cfnroot.SelectNodes("GetRateQuoteResponse/GetRateQuoteResult/TotalAccessorialCharge").Count > 0 Then
  Tcharge = Convert.ToDouble(cfnroot.SelectNodes("GetRateQuoteResponse/GetRateQuoteResult/TotalAccessorialCharge").Item(0).InnerText)
Else
  ' do something when node(s) aren't present?
End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...