메뉴 건너뛰기

라이온하트 2nd edition

홈페이지를 새롭게 리뉴얼합니다.

조회 수 96647 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

최근에는 공공기관들이나 포탈사이트등에서 자료 공개를 API로 하는데  REST을 제공해준다.

기존에는 SOAP 형식으로 제공되었으나 사용하기 간단한 REST 방식이 뜨고있다.

특히 정부3.0(http://data.go.kr)에서 데이터들이 API로 많이 오픈이 되었는데 여기서 사용하는 것이 REST방식이다.


아래의 예제는 해당 URL에서 POST로 데이터를 보내고 REST로 XML을 받아서 각각의 노드에 접하는 방식을 설명한다.


1.우선 아래와 같은 REST 수신결과 XML이 있다고 가정합니다.


01.<response>
02. 
03.<items>
04.  <item>
05.    <nameData>홍진현</nameData>
06.   <item>
07.   <item>
08.    <nameData>호구방위대</nameData>
09.   <item>
10.</items>
11. 
12.</response>



2.소스


01.WebClient wc = null;
02.XmlDocument doc = null;
03.XmlNode root = null;
04. 
05.wc = new WebClient() { Encoding = Encoding.UTF8 };
06.doc = new XmlDocument();
07. 
08.try
09.{
10.    List<string> ltReturn = new List<string>();
11. 
12.    LoadedXML = wc.DownloadString(new Uri("http://TargetURL?param1=1"));
13.    doc.LoadXml(LoadedXML);
14. 
15.    
16.    root = doc.SelectSingleNode("response");
17. 
18.    XmlNode ItemsList = root.SelectSingleNode("items");
19. 
20.     
21.    foreach (XmlNode nowItem in ItemsList)
22.    {
23.       ltReturn.Add(nowItem.SelectSingleNode("nameData").InnerText); // nowItem[0].InnerText
24. 
25.    }
26. 
27.    return ltReturn;
28. 
29.}
30.catch (Exception)
31.{
32.    return null;
33.}
34.finally
35.{
36.    doc = null;
37.    root = null;
38.    wc.Dispose();
39.}



SelectSingleNode 를 통해서 노드를 선택하거나  nowItem[0] 처럼 노드를 배열처럼 사용해서 값들을 불러 올 수 있습니다.


자료출처: http://hongjinhyeon.tistory.com/74


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
145 OS 리눅스 개인서명 SSL 인증서 생성 LionHeart 2017.08.27 49347
144 Computer MEMO LionHeart 2017.08.02 103875
143 OS Linux 계정 암호 정책 설정 LionHeart 2017.07.26 131405
142 Information SSL 인증서를 무료로 발급받는 몇 가지 방법 LionHeart 2017.07.19 45236
141 OS Fedora 25 to 26 upgrade LionHeart 2017.07.18 51591
140 OS 리눅스 서버 벤치마크 LionHeart 2017.06.21 57703
139 OS 우분투 리눅스(server)에 virtualbox로 가상우분투 설치하기 LionHeart 2017.05.17 59035
138 C# ZIP, UNZIP LionHeart 2016.11.07 90553
137 OS CentOS 7, apache 서비스 등록 (systemctl) LionHeart 2016.11.04 111398
136 OS Python 설치 LionHeart 2016.07.14 86191
135 Information How-to Asus N552VX M.2 SSD upgrade installation 2 LionHeart 2016.04.16 77252
134 OS [스크랩] 네트워크 트래픽 모니터링 vnstat LionHeart 2016.03.09 121068
133 C# 서식지정자 LionHeart 2016.02.22 74013
132 OS [스크랩] RHEL/CentOS 7 에서 방화벽(firewalld) 설정하기 LionHeart 2016.01.29 159322
131 OS [스크랩] systemd에서 부팅시 실행할 서비스 관리하기 (CentOS 7) LionHeart 2016.01.29 94427
130 OS [스크랩] Apache event MPM, Prefork MPM, Worker MPM 방식의 차이점 및 설치 시 설정 방법 LionHeart 2016.01.29 106497
129 OS [스크랩] RHEL5 (Redhat Enterprise Linux) yum 사용 설정 LionHeart 2016.01.28 65696
128 OS php 소스 암호화 하기 - php_screw-1.5 1 LionHeart 2016.01.23 89130
127 OS [스크랩] Nginx(1.9.5) 설치 및 성능테스트 LionHeart 2016.01.23 249581
126 OS [스크랩] CentOS와 Apache 설치 정리 LionHeart 2016.01.23 117081
Board Pagination ‹ Prev 1 2 3 4 5 6 7 8 9 10 ... 12 Next ›
/ 12