zoukankan      html  css  js  c++  java
  • API常用后台解析XML,JOSN数据的两种方式(XML)

         private XmlDocument Getlogistics(string UserID, string LogisticsID)
            {
                string url = string.Format("https://secure.shippingapis.com/ShippingAPI.dll?API=TrackV2&XML=<?xml version='1.0' encoding='UTF-8' ?><TrackRequest USERID='{0}'><TrackID ID='{1} '></TrackID></TrackRequest>", UserID, LogisticsID);
                HttpWebRequest HttpWReq = (HttpWebRequest)WebRequest.Create(url);
                HttpWReq.Method = "Get";
                HttpWReq.ContentType = "text/xml";
                HttpWReq.Timeout = 1200;
                HttpWReq.ReadWriteTimeout = 12000; //12秒链接不成功就中断
                HttpWebResponse HttpWResp = (HttpWebResponse)HttpWReq.GetResponse();
                var xmlContent = string.Empty;
                //将返回的结果读入流
                using (StreamReader sw = new StreamReader(HttpWResp.GetResponseStream()))
                {
                    xmlContent = sw.ReadToEnd(); //将流从头到尾读完转换成字符串
                    sw.Close();//关闭流读取
                }
                XmlDocument doc = new XmlDocument();//新建一个XML文档
                doc.LoadXml(xmlContent);//将字符串转换成XML文档
                return doc;
    
            }

    这个是一个USPS快递的物流信息查询的API的封装方法,首先解析XML数据 务必生成XML文档

      //创建LIST集合
                List<string> xx = new List<string>();
                //解析XML
                XmlDocument xml = Getlogistics("XXXXXXX", "XXXXXXXXXXXX");
                //查询XML中TrackInfo节点
                XmlNodeList x = xml.GetElementsByTagName("TrackInfo");
                //循环遍历此节点
                foreach (XmlNode xz in x)
                {
                    //获取此节点下的子节点
                    XmlNodeList itemnodes = xz.ChildNodes;
                    //遍历子节点
                    foreach (XmlNode a in itemnodes)
                    {
                        //判断子节点名称是否是TrackDetail
                        if (a.Name.Equals("TrackDetail"))
                        {
                            //将其添加在List中
                            xx.Add(a.InnerText);
                        }
                    }
                }
                //最终所有的返回信息都存入了LIST集合中
                List<string> end = xx;

    XML 解析数据基本上就是这个样子,还是很简单的 。不积跬步无以至千里~不积小流无以成江河~

  • 相关阅读:
    树的递归
    《计算机存储与外设》 3二级存储器
    《计算机存储与外设》 2主存储器
    《码农翻身:用故事给技术加点料》阅读有感
    分析"傍富婆发财"
    《第22条军规》Catch-22
    《编译原理》4
    《编译原理》3
    《血酬定律》
    linux下netcore程序部署
  • 原文地址:https://www.cnblogs.com/wyq-study/p/8915999.html
Copyright © 2011-2022 走看看