我跟客户那边测试传输接口测试,他发送报文过来我这边,然后我响应返回,但是他发送过来的少了RegType 、RegNbr 这两个,程序就报错执行不下去了,有什么办法可以加个判断让它继续执行下去吗?
这个是客户那边发过来的报文
<?xml version="1.0" encoding="gb2312" ?>
<xmlMobile>
  <funCode>519</funCode>
  <CityCode>0941</CityCode>
  <BusCode>350</BusCode>
  <CardAsn>8803311290001291</CardAsn>
</xmlMobile>
这是我接收报文,然后响应返回,但是他传过来少了RegType 、RegNbr 这两个就报错了
funCode = GetXml.SelectSingleNode("/xmlMobile/funCode").InnerText.Trim();
switch (funCode)
  {
     case "519": //基本信息查询接口
CityCode = GetXml.SelectSingleNode("/xmlMobile/CityCode").InnerText.Trim();
        BusCode = GetXml.SelectSingleNode("/xmlMobile/BusCode").InnerText.Trim();
        CardAsn = GetXml.SelectSingleNode("/xmlMobile/CardAsn").InnerText.Trim();
        RegType = GetXml.SelectSingleNode("/xmlMobile/RegType").InnerText.Trim();
        RegNbr = GetXml.SelectSingleNode("/xmlMobile/RegNbr").InnerText.Trim();

解决方案 »

  1.   

    你先判断 GetXml.SelectSingleNode("/xmlMobile/RegType")是否为null
      

  2.   

    +1
    if(GetXml.SelectSingleNode("/xmlMobile/RegType")!=null)
    {
    RegType = GetXml.SelectSingleNode("/xmlMobile/RegType").InnerText.Trim();
    }
      

  3.   

    你让对方发送RegType 、RegNbr 的值哪怕是null,也要他发送null就行了
      

  4.   


    客户那边他就是说RegType 、RegNbr这两个可以为空,叫我加个判断
      

  5.   

    +1
    if(GetXml.SelectSingleNode("/xmlMobile/RegType")!=null)
    {
    RegType = GetXml.SelectSingleNode("/xmlMobile/RegType").InnerText.Trim();
    }客户那边他就是说RegType 、RegNbr这两个可以为空,叫我加个判断