不存在Element时处理SOAP XML

时间:2019-03-26 16:14:22

标签: xml vb.net soap

我得到的SOAP响应在响应中可能有也可能没有特定元素。元素“ GetRateQuoteResponse / GetRateQuoteResult / TotalAccessorialCharge” 可能会返回,这取决于我对网络服务所做的查询。 我看不出找到测试元素存在的正确方法。 现在,我正在使用TRY块设置一个错误陷阱,以捕获并绕过错误。我宁愿以正确的方式做。

任何帮助将不胜感激

故障点(在添加try块之前)

将Dim收费作为Double = Convert.ToDouble(cfnroot.SelectNodes(“ GetRateQuoteResponse / GetRateQuoteResult / TotalAccessorialCharge”)。Item(0).InnerText)

1 个答案:

答案 0 :(得分:0)

也许是这样吗?在尝试访问值之前,测试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