블로그 XML RSS구현

2007. 12. 4. 16:39·WEB TIP/ASP
꼭 블로그가 아니더라도 XML RSS 는 이제 어느정도 대세가 되어가고 있는 듯합니다. 이제는 언론사나 커뮤니티 등에서도 RSS 가 나옵니다.. 그리고 #Reader나 Xpyder,FreeDemon 등의 RSS 구독기 또한 점차 넓게 사용되고 있습니다. 여기서는 이러한 XML RSS 를 구현하는 방법을 ASP 기반에서 XML 컴포넌트를 이용하여 구현하고자 합니다.

사실 RSS 를 구현할때 사실 단순히 텍스트 파일로 뿌려주고 ContentType 만 xml 로 선언해줘도 가능합니다. 그러나 조금은 다르게 해보고 싶다는 저의 호기심도 있고, 확장성과 향후 유지보수에 조금이라도 더 손쉽게 하기위해서 윈도우즈 2000 에 기본제공되어 있는 XML 관련 컴포넌트를 이용하여 구현해보았습니다. 물론 아래 소스는 지금 제 블로그 RSS 의 원형이 되고 있습니다.

한가지 주의 하실점은 XML 선언전에 어떠한 개행(\n) 이나 문자가 들어가서는 안됩니다. PHP 에서의 쿠키과 마찬가지 입니다.

<?xml version="1.0" encoding="EUC-KR" ?>
<%
Response.ContentType = "text/xml"
Set xmlPars = Server.CreateObject("Msxml2.DOMDocument")

' 여기서 부터 rss 정보를 담는다.

Set rss = xmlPars.CreateElement("rss")
rss.setAttribute "version", "2.0"
rss.setAttribute "xmlns:dc", "http://purl.org/dc/elements/1.1/"
rss.setAttribute "xmlns:sy", "http://purl.org/rss/1.0/modules/syndication/"
rss.setAttribute "xmlns:admin", "http://webns.net/mvcb/"
rss.setAttribute "xmlns:rdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlPars.AppendChild(rss)

'<channel> 시작
Set Channel = xmlPars.CreateElement("channel")
rss.AppendChild(Channel)

'<title>정보
Set title = xmlPars.CreateElement("title")
Channel.AppendChild(title)
Channel.childnodes(0).text = "블로그 제목"

'<link>정보
Set channel_link = xmlPars.CreateElement("link")
Channel.AppendChild(channel_link)
Channel.childnodes(1).text = "블로그 주소"

'<description>정보
Set description = xmlPars.CreateElement("description")
Channel.AppendChild(description)
Channel.childnodes(2).text = "블로그 설명"

'<dc:language>정보
Set language = xmlPars.CreateElement("dc:language")
Channel.AppendChild(language)
Channel.childnodes(3).text = "ko"

'<image>정보
Set image = xmlPars.CreateElement("image")
Channel.AppendChild(image)

'이미지 정보에 들어갈 것들
set i_title = xmlPars.CreateElement("title")
set i_url = xmlPars.CreateElement("url")
set i_width = xmlPars.CreateElement("width")
set i_height = xmlPars.CreateElement("height")

image.AppendChild(i_title)
image.AppendChild(i_url)
image.AppendChild(i_width)
image.AppendChild(i_height)

image.childnodes(0).text = "이미지 제목"
image.childnodes(1).text = "이미지 경로"
image.childnodes(2).text = "이미지 가로 사이즈"
image.childnodes(3).text = "이미지 세로 사이즈"

' 여기서 부터는 포스트에 대해서 출력

' 우선 데이터를 읽어오자
SQL = "해당되는 포스트에 대한 쿼리문"
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQL,접근문자열,adOpenForwardOnly,adLockPessimistic,adCmdText

' 여기서 부터 루프를 돌리자.
Do until rs.EOF

'<item> 이라는 노드를 추가
 Set item = xmlPars.CreateElement("item")
 Channel.AppendChild(item)
 
  ' 여기서부터 해당 포스트의 세부 정보를 출력
  set title = xmlPars.CreateElement("title") '
  set link = xmlPars.CreateElement("link")
  set description =  xmlPars.CreateElement("description")
  set dcdate =  xmlPars.CreateElement("dc:date")
  set dcsubject =  xmlPars.CreateElement("dc:subject")

  item.AppendChild(title)
  item.AppendChild(link)
  item.AppendChild(description)
  item.AppendChild(dcdate)
  item.AppendChild(dcsubject)

  item.childnodes(0).text = rs("제목필드")
  item.childnodes(1).text = rs("포스트 고유 url 필드")
  item.childnodes(2).text = rs("내용 필드")
  item.childnodes(3).text = rs("날짜 필드")
  item.childnodes(4).text = rs("포스트의 분류 필드")


 rs.movenext
 loop

' 마지막으로 최종적으로 뿌려주자.
Response.Write xmlPars.xml


'마무리 ^^;
rs.close
set rs = nothing
Set xmlPars = nothing
%>


출처 : 송준우 ( http://iendev.com http://iendev.nbloger.com )

'WEB TIP > ASP' 카테고리의 다른 글

블로그 트랙백의 구현  (0) 2007.12.04
블로그 XML RSS 리더의 구현  (0) 2007.12.04
Static SQL  (0) 2007.12.04
ASP에서 엑셀파일 변환시 수식 입력  (0) 2007.01.12
페이지 오픈과동시에 다운로드  (0) 2006.11.29
'WEB TIP/ASP' 카테고리의 다른 글
  • 블로그 트랙백의 구현
  • 블로그 XML RSS 리더의 구현
  • Static SQL
  • ASP에서 엑셀파일 변환시 수식 입력
제프
제프
제프
ZEP@BLOG
제프
전체
오늘
어제
  • 분류 전체보기 (193)
    • 주저리 (4)
    • WEB TIP (5)
      • 웹뉴스 (1)
      • UI (3)
      • ASP (35)
      • HTML-CSS (5)
      • jQuery (7)
      • C# ,ASP.NET (29)
      • MS-SQL (40)
      • Cloud (1)
      • Oracle (24)
      • Exchange 2003 (3)
      • Windows Server (9)
      • 용어 (1)
      • IIS (4)
      • 기타 (1)
      • Redmine (3)
    • 영어 (7)
    • 경제.경영자료 (10)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • 인덱스
  • Git
  • 영어
  • SQL
  • SEQUENCE
  • ASP.NET
  • case
  • injection
  • MS-SQL
  • 암호화
  • 오라클
  • 숙취
  • oracle
  • c#
  • Convert
  • IIS
  • ADO
  • asp
  • jquery
  • Windows2003

최근 댓글

최근 글

hELLO· Designed By정상우.v4.5.2
제프
블로그 XML RSS구현
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.