C# 解析Xml接口

匿名 (未验证) 提交于 2019-12-03 00:15:02
 1         public string GetWeather()  2         {  3             string weatherXML = GetRequestData("http://flash.weather.com.cn/wmaps/xml/china.xml?spm=a2c4e.10696291.0.0.5c5019a4nz9oyZ&file=china.xml");  4             XmlDocument xml = new XmlDocument();  5             xml.LoadXml(weatherXML);  6             XmlNode root = xml.SelectSingleNode("china");  7             var list = Newtonsoft.Json.JsonConvert.SerializeXmlNode(root);  8             XmlNodeList childlist = root.ChildNodes;  9             return list; 10         } 11  12         public static string GetRequestData(string sUrl) 13         { 14             //使用HttpWebRequest类的Create方法创建一个请求到uri的对象。 15             HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(sUrl); 16             //指定请求的方式为Get方式 17             request.Method = WebRequestMethods.Http.Get; 18             //获取该请求所响应回来的资源,并强转为HttpWebResponse响应对象 19             HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 20             //获取该响应对象的可读流 21             StreamReader reader = new StreamReader(response.GetResponseStream()); 22             //将流文本读取完成并赋值给str 23             string str = reader.ReadToEnd(); 24             //关闭响应 25             response.Close(); 26             return str; 27         }
        /// <summary>         /// 解析xml接口 返回json对象         /// </summary>         /// <param name="m"></param>         /// <param name="url">接口路径</param>         /// <returns></returns>         [HttpGet]         public string XmlShi(Model m,string url)         {             HttpWebRequest request = WebRequest.Create("http://flash.weather.com.cn/wmaps/xml/china.xmlspm=a2c4e.10696291.0.0.5c5019a4nz9oyZ&file=china.xml") as HttpWebRequest;              using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)             {                 StreamReader reader = new StreamReader(response.GetResponseStream());                 var xmlStr = reader.ReadToEnd();                 XmlDocument doc = new XmlDocument();                 doc.LoadXml(xmlStr);                 string json = JsonConvert.SerializeXmlNode(doc["china"]);                 return json;             }         }
///前台页面 @{     ViewBag.Title = "Xml"; }  <h2>Xml</h2>  <!DOCTYPE html> <html> <head>     <title>JSONP――XML</title>     <script src="jq.js"></script> </head> <body>     <table class="table">         <thead>             <tr>                 <td>省</td>                 <td>英文</td>                 <td>市</td>                 <td>未知列1</td>                 <td>未知列2</td>                 <td>天气</td>                 <td>未知列3</td>                 <td>未知列4</td>                 <td>状态</td>             </tr>         </thead>         <tbody id="tb"></tbody>      </table>  </body> </html> <script src="~/Scripts/jquery-3.3.1.js"></script> <script>     $(function () {         $.ajax({             url: "/Home/XmlShi",             dataType: "json",             success: function (d) {                  for (var i = 0; i < d.china.city.length; i++) {                     var tr = "<tr>"                         + "<td>" + d.china.city[i]["@@quName"] + "</td>"                         + "<td>" + d.china.city[i]["@@pyName"] + "</td>"                         + "<td>" + d.china.city[i]["@@cityname"] + "</td>"                         + "<td>" + d.china.city[i]["@@state1"] + "</td>"                         + "<td>" + d.china.city[i]["@@state2"] + "</td>"                         + "<td>" + d.china.city[i]["@@stateDetailed"] + "</td>"                         + "<td>" + d.china.city[i]["@@tem1"] + "</td>"                         + "<td>" + d.china.city[i]["@@tem2"] + "</td>"                         + "<td>" + d.china.city[i]["@@windState"] + "</td>"                         + "</tr>";                     $("#tb").append(tr);                      $.ajax({                         url: "/Home/XmlAdd",                         type: "post",                         data: {                             quName: d.china.city[i]["@@quName"],                             pyName: d.china.city[i]["@@pyName"],                             cityname: d.china.city[i]["@@cityname"],                             state1: d.china.city[i]["@@state1"],                             state2: d.china.city[i]["@@state2"],                             stateDetailed: d.china.city[i]["@@stateDetailed"],                             tem1: d.china.city[i]["@@tem1"],                             tem2: d.china.city[i]["@@tem2"],                             windState: d.china.city[i]["@@windState"]                         },                         success: function (d) {}                     })                 }             }         })     }) </script>   
 

  

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!