zoukankan      html  css  js  c++  java
  • 获取XML中指定属性的值

    <?xml version='1.0' encoding='UTF-8'?>
    <Response service="OrderService">
        <Head>OK</Head>
        <Body>
            <OrderResponse filter_result="2" destcode="010" mailno="11111" origincode="021" orderid="778"/>

    <OrderResponse filter_result="2" destcode="010" mailno="11111" origincode="021" orderid="778" return_tracking_no="12121"/>
    </Body> </Response>

    从厂商那里返回的这样的接口,但是正确的是上面标红的Code.

    所以我就是要先去判断下代码中是否有return_tracking_no这个属性。

    刚开始我是这样写的:

    string ret= xNodedetail.Attributes["return_tracking_no"].Value;

    但是这样如果没有这个属性,就会直接报错:未将对象实例化之类的错误。

    现在更改一种方式:

     var xdoc = new XmlDocument();
         xdoc.LoadXml(xml);
      XmlNode xNodedetail = xdoc.SelectSingleNode("Response/Body/OrderResponse");//取is_success节点的值
      string mailno = xNodedetail.Attributes["mailno"].Value;//
      XmlElement XmlEle = (XmlElement)xNodedetail;//将XmlNode转成XMLElement
      string sssss = XmlEle.GetAttribute("return_tracking_no").Trim();//如果没有这个属性,值是空
     if (string.IsNullOrEmpty(XmlEle.GetAttribute("return_tracking_no").Trim()))
       {
         throw new Exception("" + TRIP_NUMBER + ",没有返回对应的签回单号,请联系顺丰管理员");
       }
  • 相关阅读:
    在ASP.NET Core中使用TagHelpers
    ASP.NET Core使用Redis
    ASP.NET Core MVC中视图
    HTTP状态码
    ASP.NET Core中静态文件
    ASP.NET Core中使用依赖注入
    在ASP.NET Core中使用多个环境
    ASP.NET Core读取配置文件
    HTML+CSS解决高度塌陷和垂直重叠
    Element-UI的表格合计行的列添加操作按钮
  • 原文地址:https://www.cnblogs.com/ZkbFighting/p/13389733.html
Copyright © 2011-2022 走看看