반응형
공공데이터 : 한국천문연구원_특일 정보
https://www.data.go.kr/data/15012690/openapi.do
한국천문연구원_특일 정보
(천문우주정보)국경일정보, 공휴일정보, 기념일정보, 24절기정보, 잡절정보를 조회하는 서비스 입니다. 활용시 날짜, 순번, 특일정보의 분류, 공공기관 휴일 여부, 명칭을 확인할 수 있습니다.
www.data.go.kr
작성일 : 2022-11-22
예시) 함수로 호출하여 사용하는 경우
해당 공공데이터에서 제공하는 C# 코드를 기반으로 수정 했음
private Dictionary<string,string> Holiday_Load(int year, int month)
{
//string url 끝에 어떤 서비스를 사용할지 정하면 됨
//getHoliDeInfo :국경일 정보조회
//getRestDeInfo :공휴일 정보조회
//getAnniversaryInfo :기념일 정보조회
//get24DivisionsInfo :24절기 정보조회
//getSundryDayInfo :잡절 정보조회
//예시는 국경일 정보조회
string url = "http://apis.data.go.kr/B090041/openapi/service/SpcdeInfoService/getHoliDeInfo"; // URL
url += "?ServiceKey=" + "활용신청을 하고 받은 키를 적으면 됨"; // Service Key
url += "&pageNo=1";
url += "&numOfRows=10";
url += "&solYear=" + year.ToString();
url += "&solMonth=" + month.ToString("D2"); //D2로 두 자릿 수 안하면 데이터를 조회 못함
var request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
string results = string.Empty;
HttpWebResponse response;
using (response = request.GetResponse() as HttpWebResponse)
{
StreamReader reader = new StreamReader(response.GetResponseStream());
results = reader.ReadToEnd();
}
//Dictionary 형태로 받음 Key : 날짜, Value : 명칭
Dictionary<string, string> holidayList = new Dictionary<string, string>();
XmlDocument xml = new XmlDocument();
xml.LoadXml(results);
XmlNodeList xmResponse = xml.GetElementsByTagName("response");
XmlNodeList xmlList = xml.GetElementsByTagName("item");
foreach (XmlNode node in xmResponse)
{
foreach (XmlNode node1 in xmlList)
{
holidayList.Add(node1["locdate"].InnerText, node1["dateName"].InnerText);
}
}
return holidayList;
}
반응형
'C# > DevExpress' 카테고리의 다른 글
GridControl 행(Row) 높이, Row Cell 스타일, Cell값 변경 (0) | 2022.11.23 |
---|---|
GridControl DataTable 행 복사, 행 삭제, GridView포커스 행 삭제 (0) | 2022.11.23 |
GridControl GridView 행 추가 (0) | 2022.11.23 |