[OPEN API] 3. C# 콘솔 응용 프로그램, 다음 Open API 책 검색2
안녕하세요. 언제나 휴일, 언휴예요.
앞에서 Open API가 무엇인지 알아보고 간단하게 C# 콘솔 응용 프로그램으로 책 검색기를 만들어 보았죠.
이번에는 앞에서 만들었던 책 검색기에 약간의 기능을 추가해 보아요.
앞에서는 XmlDocument 개체의 Load 메서드로 다음 Open API 책 검색 url과 파라미터를 쿼리 문자열을 입력 인자로 결과를 로딩한 후 아무런 작업없이 그대로 콘솔화면에 출력했어요.
이번에는 다음처럼 검색한 결과 목록에서 원하는 정보만 추출하여 콘솔화면에 출력하는 책 검색기를 만들어 보기로 할게요.
먼저 프로젝트를 생성하세요. 여기에서는 책 검색기2라고 정할게요.
다음 개발자 센터의 도서 검색 서비스 사이트를 보면 결과의 출력 형태를 소개하는 글이 있어요.
다음은 브라우저에 책 검색 쿼리 문자열로 확인한 결과예요.
이번에 작성할 프로그램은 다음 Open API 책 검색 서비스 결과에서 책의 제목과 저자, 출판사, 가격 정보를 추출하여 콘솔화면에 출력할 거예요.
다음처럼 코드를 편집하세요.
using System;
using System.Xml;
namespace 책_검색기2
{
class Program
{
static void Main(string[] args)
{
string key = "자신의 다음 Open API 키";//OPEN API 키
Console.Write("검색할 책 제목:");
string title = Console.ReadLine();//검색 질의 입력받음
string queryurl = string.Format("http://apis.daum.net/search/book?apikey={0}&q={1}&output=xml", key, title);
//검색 질의 및 사이트 문자열
XmlDocument xdoc = new XmlDocument(); //Xml 문서 개체 생성
xdoc.Load(queryurl); //Xml 문서 개체에 사이트 로딩
XmlNode cnode = xdoc.SelectSingleNode("channel");
XmlNodeList xnl = cnode.SelectNodes("item");
foreach(XmlNode xn in xnl)
{
Console.WriteLine("제목:{0}", xn.SelectSingleNode("title").InnerText);
Console.WriteLine("저자:{0}", xn.SelectSingleNode("author").InnerText);
Console.WriteLine("출판사:{0}", xn.SelectSingleNode("pub_nm").InnerText);
Console.WriteLine("가격:{0}", xn.SelectSingleNode("list_price").InnerText);
Console.WriteLine();
}
}
}
}
결과의 루트 요소는 channel이죠. XmlDocument에서 channel 요소의 정보를 갖는 노드를 선택합니다.
XmlNode cnode = xdoc.SelectSingleNode("channel");
그리고 channel 오소를 갖는 노드에서 item 요소 목록을 얻어오세요.
XmlNodeList xnl = cnode.SelectNodes("item");
item 요소 목록의 각 XmlNode를 반복해서 순회합니다.
foreach(XmlNode xn in xnl)
{
...반복 수행할 작업...
}
Console.WriteLine("제목:{0}", xn.SelectSingleNode("title").InnerText);
Console.WriteLine("저자:{0}", xn.SelectSingleNode("author").InnerText);
Console.WriteLine("출판사:{0}", xn.SelectSingleNode("pub_nm").InnerText);
Console.WriteLine("가격:{0}", xn.SelectSingleNode("list_price").InnerText);
Console.WriteLine();
이상으로 다음 Open API 책 검색 서비스를 이용하여 C# 언어로 간단한 책 검색기를 콘솔 응용 프로그램 형태로 만들어 보았어요.
앞으로 다양한 Open API 서비스를 다양한 언어와 다양한 형태의 프로그램으로 만들어 보아요.
오늘도 행복한 하루~
소스 파일
'네트워크 및 보안 > OPEN API' 카테고리의 다른 글
[OPEN API] 4. C# Windows Forms 응용 프로그램, 다음 Open API 책 검색3 (3) | 2016.05.17 |
---|---|
[OPEN API] 2. C# 콘솔 응용 프로그램, 다음 Open API 책 검색 (0) | 2016.05.17 |
[OPEN API] 1. OPEN API란 무엇인지 맛보기 (2) | 2016.05.16 |