메뉴 건너뛰기

라이온하트 2nd edition

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

조회 수 96816 추천 수 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
번호 분류 제목 글쓴이 날짜 조회 수
44 C# C# example site LionHeart 2018.04.07 53577
43 C# 멀티코어 프로그램 LionHeart 2018.03.23 48395
42 C# [스크랩] c# 크로스 스레드(CheckForIllegalCrossThreadCalls) LionHeart 2018.02.28 45108
41 C# 5분봉 추출 LionHeart 2018.01.09 47985
40 C# HTTP로 JSON을 받아와서 ListView에 표시하는 샘플 LionHeart 2017.12.17 102483
39 C# 리눅스 서버 이전 시 계정작업 LionHeart 2017.12.05 83031
38 C# Connector/Net Connection-String Options Reference LionHeart 2017.11.29 50334
37 C# MySQL (MariaDB) SSL 적용방법 LionHeart 2017.11.29 54812
36 C# MySQL 보안통신방법 LionHeart 2017.11.28 51327
35 C# How to Convert XLS File into CSV File in C# LionHeart 2017.11.23 65330
34 C# RESTful API Client LionHeart 2017.10.01 51424
33 C# ZIP, UNZIP LionHeart 2016.11.07 90621
32 C# 서식지정자 LionHeart 2016.02.22 74094
31 C# JSON.net dll download URL LionHeart 2015.10.29 78103
30 C# [스크랩] c# binary 파일을 사용해 csv 파일 빨리 읽기 LionHeart 2015.10.22 77177
29 C# C# 상관계수 (Correl 함수) 구현 LionHeart 2015.10.20 107532
28 C# [스크랩] C# 에서 XML 특정 하위노드 및 자식노드를 좀 간단히 읽어보기 LionHeart 2015.10.08 111743
» C# [스크랩] XML 다루기 - REST 데이터 받아서 처리하기 LionHeart 2015.10.08 96816
26 C# MySQL to CSV && csv to mysql 3 LionHeart 2015.10.03 149256
25 C# C#, Candle Stick 차트 (dotnet 4.5 framework) LionHeart 2015.07.06 107755
Board Pagination ‹ Prev 1 2 3 4 Next ›
/ 4