1 공용 문자열 GetWeather () 2 { 3 스트링 weatherXML = GetRequestData ( " http://flash.weather.com.cn/wmaps/xml/china.xml?spm=a2c4e.10696291.0.0.5c5019a4nz9oyZ&file=china.xml " ); 4 하는 XmlDocument XML = 새 을 XmlDocument (); 5 xml.LoadXml (weatherXML); 6 의 XMLNode 루트 = xml.SelectSingleNode ( " 중국 " ); 7 var에 목록 = Newtonsoft.Json.JsonConvert.SerializeXmlNode (루트); 8 XmlNodeList childlist =root.ChildNodes] . 9 복귀 목록; 10 } . 11 (12)가 공개 정적 스트링 GetRequestData ( 문자열 sUrl) (13)가 { 14 // 메소드는 요청 URI에 객체 클래스를 생성 작성의 HttpWebRequest를 사용한다. 15 HttpWebRequest를 요청 = (의 HttpWebRequest) HttpWebRequest.Create (sUrl) 16 // 실시 받기 요청이 지정되는 방법 (17). request.method = WebRequestMethods.Http.Get; 18이다 // 다시 자원 요청 응답을 강한 회전 응답 HttpWebResponse 클래스 오브젝트이다 . 19 HttpWebResponse 클래스 응답 =합니다 (HttpWebResponse 클래스) request.GetResponse (); 20이다 // 응답 개체를 읽을 수있는 스트림을 가져옵니다 (21)가 에서는 StreamReader 리더 = 새로운 새로운 하며에서는 StreamReader (response.GetResponseStream ()) (22)는 // 스트림의 전체 텍스트를 읽고 STR에 할당 된 23 문자열 STR = reader.ReadToEnd (); 24 // 응답 오프 25 response.Close (); (26)는 복귀 STR; 27 }
/// <요약> /// 파싱 된 XML 인터페이스 JSON 오브젝트 돌아온 /// </ 요약> /// <PARAM NAME = "m"> </ PARAM> /// <PARAM NAME = "URL"> 인터페이스 경로 </ PARAM> /// <반품> </ 반환> [HttpGet] 공용 문자열 XmlShi (모델 m, 문자열 URL) { HttpWebRequest를 요청할 =이 WebRequest.Create ( " http://flash.weather.com.cn/wmaps/xml/china.xmlspm=a2c4e.10696291.0.0.5c5019a4nz9oyZ&file=china.xml " ) 등 의 HttpWebRequest; 사용 (HttpWebResponse 클래스 응답 request.GetResponse = () 로서 HttpWebResponse 클래스) { 리더는 StreamReader = 새 에서는 StreamReader (response.GetResponseStream ()); VAR xmlStr = reader.ReadToEnd (); 문서하는 XmlDocument = 새 을 XmlDocument (); doc.LoadXml (xmlStr); 문자열 JSON = JsonConvert.SerializeXmlNode (문서 [ " 중국 " ]); 반환 JSON을; } }
/// 첫 페이지 @ { ViewBag.Title = "XML을"; } <H2> XML의 </ H2> <! DOCTYPE html로> <HTML> <head> <제목> JSONP - XML </ 제목> <스크립트 SRC = "jq.js"> </ script> </ head> <body> <표 클래스 = "테이블"> <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 자료 = "TB"> </ TBODY> </ 테이블> </ body> </ HTML> <스크립트 SRC = "~ / 스크립트 / JQuery와-3.3.1.js"> </ script> <script> $ (함수 () { $ 아약스 ({ URL : "/ 홈 / XmlShi" dataType와 "JSON" 성공 : 함수 (D) { 위한 VAR (I = 0; i가 d.china.city.length를 <; 내가 ++) { 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] [ "@@ 상태 1"] + "</ TD>" + "<TD>"d.china.city + [I] [ "@@ 상태 2"] + "</ 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>"; . $ ( "# 결핵") (TR)를 추가; $ 아약스 ({ URL : "/ 홈 / XmlAdd" 유형 : "POST", 데이터 : { quName : d.china.city [I] [ "@@ quName"], pyName : d.china.city [I] [ "pyName @@"], CityName이 : d.china.city [I] [ "@@ CityName이"], 상태 1 : d.china.city [I] [ "@@ 상태 1"], 상태 2 : d.china.city [I] [ "@@ 상태 2"], stateDetailed : d.china.city [I] [ "stateDetailed @@"], tem1 : d.china.city [I] [ "@@ tem1"], tem2 : d.china.city [I] [ "@@ tem2"], windState : d.china.city [I] [ "@@ windState"] }, 성공 : 함수 (D) {} }) } } }) }) </ script>