我得到的SOAP响应在响应中可能有也可能没有特定元素。元素“ GetRateQuoteResponse / GetRateQuoteResult / TotalAccessorialCharge” 可能会返回,这取决于我对网络服务所做的查询。 我看不出找到测试元素存在的正确方法。 现在,我正在使用TRY块设置一个错误陷阱,以捕获并绕过错误。我宁愿以正确的方式做。
任何帮助将不胜感激
故障点(在添加try块之前)
将Dim收费作为Double = Convert.ToDouble(cfnroot.SelectNodes(“ GetRateQuoteResponse / GetRateQuoteResult / TotalAccessorialCharge”)。Item(0).InnerText)
答案 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