프로그래밍/XML2010. 4. 5. 22:08

웹에 홈페이지를 만들고 쉽다면 HTML 문법을 공부해야 하는 것 처럼 해당 컨텐츠를 RSS를 통하여 배포하고 싶다면 당연히 RSS 구문을 익히셔야 합니다. 다행인 것은 RSS 구문은 HTML 문법만큼 간단하여 쉽게 익힐 수 있습니다.

그러나 RSS를 사용함에 있어 알고 있어야 하는 것이 있습니다. RSS는 크게 두가지의 버전이 공존합니다. 간단함을 지향하는 RSS 0.9x,RSS 2.0좀 더 확장성이 강한 RSS 1.0 입니다. 두가지 버전 모두 동일한 기본 구조와 XML을 기반으로 하고 있습니다.

1. RSS의 내력 및 버전별 비교
RSS 0.9는 Netscape 사의 포털 서비스를 위한 다소 복잡한 형식으로 제작 되었고, 그 후에 웹블로그 제품과 기타 다른 제품에 사용을 위하여 UserLand Software에서 좀 더 간단한 RSS 0.91 발표하였습니다.

그 비슷한 시기에 RSS-DEV Working Group은 RDF(Resource Description Framework) 기반으로 한 RSS 1.0를 제작하였고, RSS 1.0 역시 RSS 0.9를 기본으로 하고 있습니다. 그 후에 UserLand 는 0.92,0.93.0.94 그리고 2.0을 발표하였습니다.

버전 제작 내용 사용
0.9 Netscape - 미사용
0.91 UserLand 간단함 공식버전 2.0 이나 많은 곳에서 사용되고 있슴
0.92,0.93,0.94 UserLand 0.91 보다 풍부한 metadata 제공 RSS 2.0 사용
1.0 RSS-DEV Working Group RDF를 기반으로 모듈을 통한 확장성 RDF 기반의 Application를 사용하거나 RDF 모듈이 필요할 경우
2.0 UserLand 모듈을 통한 확정성이 있고 0.9x 버전에서 쉽게 이전 가능 일반적인 자료 배포
2. RSS 2.0
RSS 2.0 이 RSS 0.9x 버전를 모두 포함하고 있기에 RSS 0.9x 버전에 대한 설명은 생략하도록 하겠습니다. 이전 버전에 대하여 관심이 있는 분들은 관련정보를 참고해 주십시요.

<?xml version="1.0" encoding="euc-kr" ?>
<rss version="2.0">
<channel>
<title>아이헬퍼스</title>
<link>http://www.ihelpers.co.kr</link>
<description>아이헬퍼스</description>
<language>ko</language>
<lastBuildDate>Nov, 15 2004 08:13:29 GMT</lastBuildDate>
<webMaster>smson@ihelpers.co.kr</webMaster>
<item>
<title>RSS에 대하여</title>
<link>http://www.ihelpers.co.kr/programming/lec.php?CMD=view&TYPE=1&IDX=245</link>
<author>손상모</author>
<pubDate>Nov, 15 2004 08:13:29 GMT</pubDate>
<category>강좌</category>
</item>
<item>
<title>게시판의 조회수를 정확하게 측정하자</title>
<link>http://www.ihelpers.co.kr/programming/tipntech.php?CMD=view&TYPE=0&IDX=458</link>
<author>손상모</author>
<pubDate>Nov, 13 2004 01:33:48 GMT</pubDate>
<category>Tip&Tech</category>
</item>
<item>
<title>글자와 이미지에 Blink 효과주기</title>
<link>http://www.ihelpers.co.kr/programming/tipntech.php?CMD=view&TYPE=0&IDX=457</link>
<author>손상모</author>
<pubDate>Nov, 12 2004 19:36:07 GMT</pubDate>
<category>Tip&Tech</category>
</item>
</channel>
</rss>
[ RSS 2.0 샘플 ]

Required channel elements

Element Description Example
title 채널명 ( 사이트명 또는 사이트의 메뉴명 ) 아이헬퍼스 - 새소식
link 웹사이트 URL 정보 또는 채널에 해당하는 웹사이트 URL 정보 http://www.ihelpers.co.kr
description 채널 설명 ( HTML 사용은 하지 않는 것이 좋다 ) 아이헬퍼스의 최식 소식

Optional channel elements

Element Description Example
language 채널에 사용한 언어 - 사용가능 언어 ko
copyright 채널정보에 대한 권한 Copyright ⓒ 2000-2004 iHelpers.
manageingEditor 채널 수정 담당자 이메일 주소 smson@ihelpers.co.kr (홍길동)
webMaster 채널 관련 문의 담당자 이메일 주소 webmaster@ihelpers.co.kr (홍길동)
pubDate 발행일자( RFC 822 형식 ) Nov, 15 2004 08:13:29 GMT
lastBuildDate 최종변경시간 Nov, 15 2004 08:13:29 GMT
category 채널이 속해 있는 카테고리 정보( 한개 이상 가능 ) 공지사항
generator 채널 생성 프로그램 EditPlus
docs RSS 형식에 대한 문서 URL http://blogs.law.harvard.edu/tech/rss
cloud <cloud domain="" port="" path="" registerProcedure="" protocol="" /> <cloud domain="rpc.sys.com" port="80" path="/RPC2" registerProcedure="myCloud.rssPleaseNotify" protocol="xml-rpc" />
ttl 채널정보 갱신 주기( 단위 : 분) <ttl>60</ttl>
image 이미지 정보( GIF,JPEG 또는 PNG )  
url 이미지 URL 정보  
title 이미지 설명,HTML의 IMG 태그의 ALT 구문과 동일  
width , height 넓이, 높이 ( 단위 : pixel ) width,height ( 최대, 기본 ) - 144/88,400/31
rating PICS Rating  
textInput CGI Script와 연계할 수 있는 Text Input 박스와 Submit Button 기능  
title Submit Button의 Label  
description Input 박스설명  
name Input 박스의 name  
link CGI Script URL  
skipHours Reader(Aggregator)가 채널정보를 읽지 않기 원하는 시간 0 ~ 23
skipDays Reader(Aggregator)가 채널정보를 읽지 않기 원하는 날짜 Monday,Tuesday,WednesDay...

Item Element

RSS 0.92까지는 아이템의 수가 제한 되어 있었으나 RSS2.0에 오면서 숫자에 제한이 없어 졌습니다. 아이템에 해당하는 모든 Element는 선택사항입니다.

Element Description Example
title 아이템 제목 스파이더 쫓아 버리기
link 아이템 URL 정보 http://www.ihelpers.co.kr/programming/tipntech.php?CMD=view&TYPE=0&IDX=452
description 아이템에 대한 간략 설명( entity-encoded HTML ) robots.txt을 이용하여 Spider 사용 제한하기
author 작성자 이메일 주소 smson@ihelpers.co.kr
category 아이템 해당 카테고리(메뉴) 강좌
comments 아이템과 관련있는 URL 정보  
enclosure 아이템에 추가할 media 정보 <enclosure url="http://www.scripting.com/mp3s/weatherReportSuite.mp3" length="12216320" type="audio/mpeg" />
guid 유일한 식별문자 http://www.ihelpers.co.kr/programming/tipntech.php?CMD=view&TYPE=0&IDX=452
pubDate 발행일자 Nov, 05 2004 22:53:27 GMT
source 출처 http://www.robotstxt.org/wc/robots.html
3. RSS 1.0
RSS 1.0에서 RSS는 "RDF Site Summary"를 의미합니다. RSS 1.0은 RDF를 사용하고 XML-Namespaces( RSS Modules )을 이용하여 큰 마찰 없이 확장을 가능하게 해 줍니다. 모듈로써는 Dublin Core Module이 가장 잘 알려져 있습니다. RSS 1.0은 아래의 샘플 코드에서 보는 것 처럼 RSS 0.9x 와 거의 비슷하나 몇가지 다른 요소를 가지고 있습니다.
  • <rdf:RDF>...<rdf:RDF> Element를 사용한다.
  • RSS 1.0는 'http://purl.org/rss/1.0' ( Default Namespace ), 'http://purl.org/dc/elements/1.1/' ( Dublin Core )과 같이 Namespace를 사용한다.
  • Item Element가 Channel Element 밖에서 사용된다. ( RSS 0.9x 의 경우는 Channel Element 내부에 있슴 )
<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns="http://purl.org/rss/1.0/"
  xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel rdf:about="http://www.xml.com/cs/xml/query/q/19">
    <title>XML.com</title>
    <link>http://www.xml.com/</link>
    <description>
	XML.com features a rich mix of information and services for the XML community.
	</description>
    <language>en-us</language>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://www.xml.com/pub/a/2002/12/04/normalizing.html"/>
        <rdf:li rdf:resource="http://www.xml.com/pub/a/2002/12/04/som.html"/>
        <rdf:li rdf:resource="http://www.xml.com/pub/a/2002/12/04/svg.html"/>
      </rdf:Seq>
    </items>
  </channel>
  <item rdf:about="http://www.xml.com/pub/a/2002/12/04/normalizing.html">
    <title>Normalizing XML, Part 2</title>
    <link>http://www.xml.com/pub/a/2002/12/04/normalizing.html</link>
    <description>
	In this second and final look at applying relational normalization techniques 
	to W3C XML Schema data modeling,Will Provost discusses when not to normalize, 
	the scope of uniqueness and the fourth and fifth normal forms.
	</description>
    <dc:creator>Will Provost</dc:creator>
    <dc:date>2002-12-04</dc:date>    
  </item>
  <item rdf:about="http://www.xml.com/pub/a/2002/12/04/som.html">
    <title>The .NET Schema Object Model</title>
    <link>http://www.xml.com/pub/a/2002/12/04/som.html</link>
    <description>
	Priya Lakshminarayanan describes in detail the use of the .NET Schema Object Model 
	for programmatic manipulation of W3C XML Schemas.
	</description>
    <dc:creator>Priya Lakshminarayanan</dc:creator>
    <dc:date>2002-12-04</dc:date>    
  </item>
</rdf:RDF>
[ RSS 1.0 샘플 ]

앞에서 이야기 한 것 처럼 두 버전 모두 장단점을 가지고 있습니다. 그러나 본인은 RSS를 "Really Simple Syndication" 에 무게를 더 두고 싶고, RSS 1.0은 부족하지만 여기서 마치도록 하겠습니다. 자세한 것은 관련정보의 자료를 참고하여 주십시요.

4. 관련정보
출처
[기타] 인터넷 : http://www.ihelpers.co.kr">http://www.ihelpers.co.kr>
Posted by 컴투
프로그래밍/XML2010. 4. 4. 23:25
Posted by 컴투
프로그래밍/XML2010. 4. 4. 23:23

http://rss.cbs.co.kr/nocutnews.xml //노컷뉴스 
http://www.chosun.com/site/data/rss/rss.xml //조선일보
http://www.cine21.com/News_Report/ //씨네21
http://www.dailian.co.kr/news/n_list.html?kind=rank_code&keys=3 //데일리안
http://rss.donga.com/total.xml //동아일보
http://rss.donga.com/stotal.xml //스포츠동아
http://news.naver.com/rss/rss_presscenter.nhn?office_id=029 //디지털타임스
http://rss.edaily.co.kr/econo_news.xml //이데일리
http://www2.feed43.com/etnews.xml //전자신문
http://news.naver.com/rss/rss_presscenter.nhn?office_id=074 //필름2.0
http://rss.fnn.co.kr/news.xml //FNN 뉴스
http://news.naver.com/rss/rss_presscenter.nhn?office_id=014 //파이낸셜뉴스
http://www.hani.co.kr/rss/ //한겨레신문
http://rss.hankooki.com/news/hk00_list.xml //한국일보
http://rss.hankooki.com/sports/sp00_list.xml //스포츠한국
http://rss.hankooki.com/economy/sk00_list.xml //서울경제
http://rss.hankyung.com/economy.xml //한국경제
http://news.naver.com/rss/rss_presscenter.nhn?office_id=016 //헤럴드 경제
http://www.independent.co.kr/news_01/n_list.html?kind=main //독립신문
http://www.itooza.com/rss/itooza_rss.xml //아이투자
http://www.jknews.co.kr/contents/rss_gen.xml //한국재경신문
http://rss.joins.com/joins_news_list.xml //중앙일보
http://rss.joins.com/joins_ilgan_list.xml //일간스포츠
http://rss.kbench.com/news.xml //케이벤치
http://www.kbizweek.com/ //한경비지니스
http://www.khan.co.kr/rss/rssdata/mx.xml //매거진X
http://www.khan.co.kr/rss/rssdata/total_news.xml //경향신문
http://www.khan.co.kr/rss/rssdata/sports.xml //스포츠칸
http://www.kukinews.com/news/article/list_all.asp?gCode=all //국민일보 쿠키뉴스
http://news.naver.com/news/list.php?mode=LOD&office_id=078&view=1 //국정브리핑
http://news.naver.com/rss/rss_presscenter.nhn?office_id=214 //MBC TV
http://news.naver.com/rss/rss_presscenter.nhn?office_id=057 //MBN TV
http://news.media.daum.net/best/primary/ //미디어다움
http://media.ohmynews.com/rss/ohmynews.xml //오마이뉴스
http://www.mediatoday.co.kr/news/quickViewArticleList.html //미디어오늘
http://news.mk.co.kr/rss/economy.xml //매경이코노미
http://news.mk.co.kr/rss/economy_all.xml //매일경제
http://rss.moneytoday.co.kr/st_news.xml //스타뉴스
http://www.mydaily.co.kr/rss/rss_mydaily.xml //마이데일리
http://feeds.feedburner.com/naver_news_popular //네이버 많이 본 뉴스
http://news.inews24.com/php/news_list.php?g_menu=020000 //아이뉴스
http://www.newswire.co.kr/rss/rss.xml //뉴스와이어
http://feeds.feedburner.com/paxnetnews //팟스넷
http://www.polinews.co.kr/rss/focus.xml //폴리뉴스
http://www.pressian.com/rss/rss.xml //프레시안
http://news.naver.com/rss/rss_presscenter.nhn?office_id=055 //SBS TV
http://www.segye.com/Service5/ShellTotal.asp?TreeID=1051 //세계일보
http://www.seoul.co.kr/news/dailyList.php //서울신문
http://news.naver.com/rss/rss_presscenter.nhn?office_id=076 //스포츠조선
http://news.naver.com/rss/rss_presscenter.nhn?office_id=073 //스포츠서울
http://stock.moneytoday.co.kr/flashnews/flashnews_list_1.htm //머니투데이
http://rss.tagstory.com/rss/rss_feed.aspx?kind=3&value=1 //태그스토리 24시간 인기동영상
http://www.hankooki.com/totallist/gisalist.php?media=wk //주간한국
http://news.naver.com/rss/rss_presscenter.nhn?office_id=052 //YTN TV
http://www.zdnet.co.kr/services/rss/all/rss2.0.htm //zdnet

펌 : http://dev.previl.net/index.php?channel=tip&pmode=view&no=15

 


RSS란?
블로그, 뉴스, 기업정보, 사이트의 공지사항, 취업정보등과 같이 자주 업데이트 되는 사이트들의
업데이트된 정보를 보다 쉽게 사용자들에게 제공하기 위해 만들어진 포맷입니다.
현재 국내에서는 유명 뉴스,포탈사이트,블로그등에서 RSS를 적극적으로 지원하고 있는 추세입니다.
출처 : http://kr.blog.yahoo.com/yeonmoblog/401

············· 국내 유명 사이트 들의 RSS 주소 모음 ·············
조선일보 전체기사 RSS http://rss.chosun.com/rss.xml
중앙일보 전체기사 RSS http://rss.joins.com/joins_news_list.xml
드림위즈 뉴스센터 RSS http://news.dreamwiz.com/rss/dw_rss_news.xml
야후 전체기사 RSS http://kr.rss.news.yahoo.com/Yahoo_nocut1001.xml
영화 엔키노 뉴스 RSS http://rss.nkino.com/news.xml
케이벤치 전체기사 RSS http://rss.kbench.com/kbench.xml
오마이뉴스 RSS http://media.ohmynews.com/rss/ohmynews.xml
스카우트 전체채용정보 RSS http://www.scout.co.kr/jobs/all/rss.asp
벅스 음반몰 RSS http://cdmall.bugs.co.kr/Rss/XMLCdmallList.asp
청와대 RSS http://www.president.go.kr/cwd/kr/rss.xml
IT서점-한빛북 http://www.hanbitbook.co.kr/sync/rss_newbook.xml

············· 스타들의 블로그 RSS 주소 모음 ·············
가수 유진 블로그 http://blogbridge.naver.com/post/postXMLList.jsp?blogId=eugenesinger
배두나 블로그 http://blogbridge.naver.com/post/postXMLList.jsp?blogId=hnpl46
송일국 블로그 http://blogbridge.naver.com/post/postXMLList.jsp?blogId=vegetarian19
문근영 블로그 http://blog.empas.com/empasmanito/rss.xml
신화 블로그 http://blog.paran.com/rssview.php?pmcid=shinhwa7th
김래원 블로그 http://blog.paran.com/rssview.php?pmcid=raewon
성현아 블로그 http://blogbridge.naver.com/post/postXMLList.jsp?blogId=hinasung
조승우 블로그 http://blogbridge.naver.com/post/postXMLList.jsp?blogId=mt_chowon
삼성카드 모델 공현주 블로그 http://mm.dreamwiz.com/spabee7/index.xml
가수 바다 블로그 http://blog.paran.com/rssview.php?pmcid=badaboom


············· 유명 만화,애니메이션 블로그 RSS 주소 모음 ·············
투데이스피피시-만화게시판 http://www.todaysppc.com/rss/cartoon.xml
만화인 http://www.manhwain.com/index.xml
백금기사의 기묘한 연구소 http://lgaim.egloos.com/index.xml
올드독 http://blogbridge.naver.com/post/postXMLList.jsp?blogId=hhoro
아까짱의 이 만화 꼭 봐라 http://kori2sal.egloos.com/index.xml
잠들 수 없는 밤의 기묘한 이야기 http://thering.ivyro.net/tt/index.xml

············· 재미난 이야기 사이트 RSS 주소 모음 ·············
오늘의 재미있는 이야기 http://blog.www.com.ne.kr/v1/todayStory/today_story_rss.php
드림위즈 별난세상 별난유머 http://bbs.dreamwiz.com/GEN/rss/fun.rss
퍼니톡 Best유머 http://www.funnytalk.co.kr/humorxml.php
드림위즈 지식검색 http://ksearch.dreamwiz.com/rss/ks_rss.xml
오니(おに)의 까대기 마당!!! http://blog.hanafos.com/getrss.asp?blogerid=msh8592
웃고싶은가? 끌리면 오라 ♨HOT♨ http://hompy.dreamwiz.com/dwhot?rss
드림위즈 엔터테인먼트 http://bbs.dreamwiz.com/GEN/rss/ent.rss
페인 + 유머 + 기타 http://blog.empas.com/kiminternet/rss.xml

············· 국내 블로그 사이트들의 RSS 주소 안내 ·············
네이버 블로그 RSS주소 http://blogbridge.naver.com/post/postXMLList.jsp?blogId=뼯a>??이버아이디
야후 블로그 RSS주소 http://kr.blog.yahoo.com/야후아이디/rss.xml
엠파스 블로그 RSS주소 http://blog.empas.com/엠파스아이디/rss.xml

[출처] rss 주소3|작성자 유진


'프로그래밍 > XML' 카테고리의 다른 글

[펌]RSS 0.9x,2.0 그리고 1.0  (0) 2010.04.05
날씨 관련 RSS 주소  (0) 2010.04.04
RSS 얻어올 수 있는 주소 - 2  (0) 2010.04.04
RSS 얻어올 수 있는 주소 - 1  (0) 2010.04.04
[펌]DOM을 이용한 메타데이터 추출(JAVA)  (0) 2010.04.04
Posted by 컴투
프로그래밍/XML2010. 4. 4. 23:22

[한국아이닷컴]   eyenews - http://rss.hankooki.com/eyenews/ey00_list.xml 주소복사
golfi - http://rss.hankooki.com/golfi/gl00_list.xml 주소복사


[한국일보]
  전체기사 - http://rss.hankooki.com/news/hk00_list.xml 주소복사
IT/과학 - http://rss.hankooki.com/news/hk18_list.xml 주소복사
요지경세상 - http://rss.hankooki.com/news/hk14_list.xml 주소복사


[스포츠한국]   Hot Sports - http://rss.hankooki.com/sports/sp00_list.xml 주소복사
Hot 엔터테인먼트 - http://rss.hankooki.com/sports/sp25_list.xml 주소복사
라이프 n Joy - http://rss.hankooki.com/sports/sp28_list.xml 주소복사


[서울경제]  

전체기사 - http://rss.hankooki.com/economy/sk00_list.xml 주소복사
부동산 - http://rss.hankooki.com/economy/sk31_list.xml 주소복사
증권 - http://rss.hankooki.com/economy/sk32_list.xml 주소복사



<FORM name="rss" onsubmit="rss_search_copy_clip(); return false" action=javascript:;>
[검색]   결과 - 검색어 : <INPUT name="rsskw">  주소복사
</FORM>

 

세계일보 RSS 뉴스 서비스
최신기사 RSS    http://rss.segye.com/segye_recent.xml
ATOM  http://rss.segye.com/segye_recent.atom
종 합 RSS    http://rss.segye.com/segye_total.xml
ATOM  http://rss.segye.com/segye_total.atom
정 치 RSS    http://rss.segye.com/segye_politic.xml
ATOM  http://rss.segye.com/segye_politic.atom
북 한 RSS    http://rss.segye.com/segye_dprk.xml
ATOM  http://rss.segye.com/segye_dprk.atom
국 제 RSS    http://rss.segye.com/segye_international.xml
ATOM  http://rss.segye.com/segye_international.atom
경 제 RSS    http://rss.segye.com/segye_economy.xml
ATOM  http://rss.segye.com/segye_economy.atom
사 회 RSS    http://rss.segye.com/segye_society.xml
ATOM  http://rss.segye.com/segye_society.atom
문 화 RSS    http://rss.segye.com/segye_culture.xml
ATOM  http://rss.segye.com/segye_culture.atom
스포츠 RSS    http://rss.segye.com/segye_sports.xml
ATOM  http://rss.segye.com/segye_sports.atom
연 예 RSS    http://rss.segye.com/segye_entertainment.xml
ATOM  http://rss.segye.com/segye_entertainment.atom
피 플 RSS    http://rss.segye.com/segye_people.xml
ATOM  http://rss.segye.com/segye_people.atom
탐사기획 RSS    http://rss.segye.com/segye_task_force.xml
ATOM  http://rss.segye.com/segye_task_force.atom
오피니언 RSS    http://rss.segye.com/segye_opinion.xml
ATOM  http://rss.segye.com/segye_opinion.atom
전 국 RSS    http://rss.segye.com/segye_local.xml
ATOM  http://rss.segye.com/segye_local.atom
스포츠월드 RSS 뉴스 서비스
최신기사 RSS    http://rss.sportsworldi.com/sw_recent.xml
ATOM  http://rss.sportsworldi.com/sw_recent.atom
종 합 RSS    http://rss.sportsworldi.com/sw_total.xml
ATOM  http://rss.sportsworldi.com/sw_total.atom
야 구 RSS    http://rss.sportsworldi.com/sw_baseball.xml
ATOM  http://rss.sportsworldi.com/sw_baseball.atom
축 구 RSS    http://rss.sportsworldi.com/sw_soccer.xml
ATOM  http://rss.sportsworldi.com/sw_soccer.atom
농 구 RSS    http://rss.sportsworldi.com/sw_basketball.xml
ATOM  http://rss.sportsworldi.com/sw_basketball.atom
골 프 RSS    http://rss.sportsworldi.com/sw_golf.xml
ATOM  http://rss.sportsworldi.com/sw_golf.atom
연 예 RSS    http://rss.sportsworldi.com/sw_entertainment.xml
ATOM  http://rss.sportsworldi.com/sw_entertainment.atom
레 저 RSS    http://rss.sportsworldi.com/sw_leisure.xml
ATOM  http://rss.sportsworldi.com/sw_leisure.atom
오피니언 RSS    http://rss.sportsworldi.com/sw_opinion.xml
ATOM  http://rss.sportsworldi.com/sw_opinion.atom
OPML/JSON 주소
세계닷컴 opml http://rss.segye.com/segye_rss.opml
스포츠월드 opml http://rss.sportsworldi.com/sports_world_rss.opml
세계닷컴 json http://rss.segye.com/segye_rss.json
스포츠월드 json http://rss.sportsworldi.com/sports_world_rss.json
ATOM의 OPML/JSON 주소
세계닷컴 opml http://rss.segye.com/segye_atom.opml
스포츠월드 opml http://rss.sportsworldi.com/sports_world_atom.opml
세계닷컴 json http://rss.segye.com/segye_atom.json
스포츠월드 json http://rss.sportsworldi.com/sports_world_atom.json

전체기사 http://rss.donga.com/total.xml
정치 http://rss.donga.com/politics.xml
사회 http://rss.donga.com/national.xml
경제 http://rss.donga.com/economy.xml
국제 http://rss.donga.com/international.xml
사설칼럼 http://rss.donga.com/editorials.xml
의학과학 http://rss.donga.com/science.xml
문화연예 http://rss.donga.com/culture.xml
스포츠 http://rss.donga.com/sports.xml
사람속으로 http://rss.donga.com/inmul.xml
야구&MLB http://rss.donga.com/sbaseball.xml
축구 http://rss.donga.com/ssoccer.xml
종합 http://rss.donga.com/stotal.xml
엔터테인먼트 http://rss.donga.com/sentertainment.xml
포토 http://rss.donga.com/sphoto.xml
만화 http://rss.donga.com/scartoon.xml
포토뉴스 http://rss.donga.com/photonews.xml
포토갤러리 http://rss.donga.com/photogallery.xml
Posted by 컴투
프로그래밍/XML2010. 4. 4. 23:21

 
전체기사 http://rss.cbs.co.kr/nocutnews.xml
정치 http://rss.cbs.co.kr/NocutPolitics.xml
사회 http://rss.cbs.co.kr/NocutSocial.xml
경제 http://rss.cbs.co.kr/NocutEconomy.xml
노컷스포츠 http://rss.cbs.co.kr/NocutSports.xml
지역 http://rss.cbs.co.kr/NocutLocal.xml
글로벌노컷 http://rss.cbs.co.kr/NocutGlobal.xml
IT/과학 http://rss.cbs.co.kr/NocutIT.xml
노컷연예 http://rss.cbs.co.kr/NocutEnter.xml
문화생활 http://rss.cbs.co.kr/NocutCulture.xml
포토뉴스 http://rss.cbs.co.kr/NocutPhoto.xml
칼럼 http://rss.cbs.co.kr/NocutColum.xml
기타 http://rss.cbs.co.kr/NocutEtc.xml
노컷특종 http://rss.cbs.co.kr/NocutOnly.xml
아주 특별한 인터뷰 http://rss.cbs.co.kr/NocutInterview.xml
이코노리더 http://rss.cbs.co.kr/NocutEcono.xml
핫이슈 http://rss.cbs.co.kr/NocutHotissue.xml
연속기획 http://rss.cbs.co.kr/NocutCplan.xml
전체 정보보고 http://rss.cbs.co.kr/NocutInfo.xml
정치부 정보보고 http://rss.cbs.co.kr/NocutPoliticsInfo.xml
사회부 정보보고 http://rss.cbs.co.kr/NocutSocialInfo.xml
경제부 정보보고 http://rss.cbs.co.kr/NocutEconomyInfo.xml
연예부 정보보고 http://rss.cbs.co.kr/NocutEnterInfo.xml
지역 정보보고 http://rss.cbs.co.kr/NocutLocalInfo.xml
대구노컷 http://rss.cbs.co.kr/dgNocut.xml
부산노컷 http://rss.cbs.co.kr/bsNocut.xml
광주노컷 http://rss.cbs.co.kr/gjNocut.xml
전북노컷 http://rss.cbs.co.kr/jbNocut.xml
청주노컷 http://rss.cbs.co.kr/cjNocut.xml
춘천노컷 http://rss.cbs.co.kr/chNocut.xml
대전노컷 http://rss.cbs.co.kr/djNocut.xml
포항노컷 http://rss.cbs.co.kr/phNocut.xml
경남노컷 http://rss.cbs.co.kr/gnNocut.xml
영동노컷 http://rss.cbs.co.kr/ydNocut.xml
전남노컷 http://rss.cbs.co.kr/jnNocut.xml
울산노컷 http://rss.cbs.co.kr/usNocut.xml
제주노컷 http://rss.cbs.co.kr/jjNocut.xml
RSS는 Really Simple Syndication 또는 Rich Site Summary 의 줄임말로 컨텐츠의 업데이트가 자주 일어나는 뉴스, 블로그 등에서 일일히 사이트를 방문하지 않아도 별도의 프로프램(RSS리더기)를 이용하여 해당 사이트에서 새로 업데이트 되는 컨텐츠를 자동으로 받아볼 수 있는 서비스 입니다.
1. RSS리더프로그램이나 블로그의 RSS리딩 기능 사용합니다.
2. 구독을 원하는 주소를 복사합니다.
3. RSS Reader 프로그램에 복사된 주소를 입력합니다.
별도 프로그램 설치 없이 웹에서 쉽게 RSS 구독하기
http://www.hanrss.com/
위자드 닷컴 :http://wzd.com/
다음 RSS : http://www.daum.net (로그인후 메일메뉴에서 사용)
엑스파이더: http://www.xpyder.co.kr/xpyderweb/main.htm
간단한 프로그램 설치를 통해 RSS 구독하기
RSS 리더 연모 : http://www.yeonmo.co.kr/
Rss 리더 KlipFolio : http://www.klipfolio.com/
 
 

오마이뉴스 기사별 RSS 서비스 주소

 

오마이뉴스 전체기사
http://rss.ohmynews.com/rss/ohmynews.xml

오마이뉴스 인터내셔널(영문판)

http://media.ohmynews.com/rss/eng_ohmynews.xml

오마이뉴스 주요기사

http://rss.ohmynews.com/rss/top.xml

사는이야기

http://rss.ohmynews.com/rss/life.xml

사회

http://rss.ohmynews.com/rss/society.xml

문화

http://rss.ohmynews.com/rss/culture.xml

정치

http://rss.ohmynews.com/rss/politics.xml

경제

http://rss.ohmynews.com/rss/economy.xml

민족·국제

http://rss.ohmynews.com/rss/international.xml

교육

http://rss.ohmynews.com/rss/education.xml

스포츠

http://rss.ohmynews.com/rss/sports.xml

영화

http://rss.ohmynews.com/rss/cinema.xml

미디어

http://rss.ohmynews.com/rss/media.xml

여행

http://rss.ohmynews.com/rss/travel.xml

책동네

http://rss.ohmynews.com/rss/book.xml

여성

http://rss.ohmynews.com/rss/woman.xml

광주전라

http://rss.ohmynews.com/rss/jeolla.xml

대구경북

http://rss.ohmynews.com/rss/kyungbuk.xml

부산경남

http://rss.ohmynews.com/rss/gyeongnam.xml

대전충남

http://rss.ohmynews.com/rss/chungnam.xml

인천경기

http://rss.ohmynews.com/rss/gyeonggi.xml

해외리포트

http://rss.ohmynews.com/rss/ab_reporter.xml

만화만평

http://rss.ohmynews.com/rss/cartoon.xml

칼럼

http://rss.ohmynews.com/rss/column.xml

오마이뉴스E RSS 서비스 주소

전체

http://rss.ohmynews.com/rss/ohmynews_e.xml

정치

http://rss.ohmynews.com/rss/politics_e.xml

국제

http://rss.ohmynews.com/rss/international_e.xml

IT

http://rss.ohmynews.com/rss/it_e.xml

스포츠

http://rss.ohmynews.com/rss/sports_e.xml

연예

http://rss.ohmynews.com/rss/entertainment_e.xml

인기편집노트

http://rss.ohmynews.com/rss/best_e.xml

 

 

한경닷컴 RSS 서비스 주소 xml

경제/금융 뉴스 http://rss.hankyung.com/economy.xml
증권 뉴스 http://rss.hankyung.com/stock.xml
부동산 뉴스 http://rss.hankyung.com/estate.xml
산업 뉴스 http://rss.hankyung.com/industry.xml
취재기자 X-File http://rss.hankyung.com/xfile.xml
마켓리더스 http://rss.hankyung.com/leaders.xml
재테크 칼럼 http://rss.hankyung.com/ft.xml
자동차 칼럼 http://rss.hankyung.com/auto.xml
골프 칼럼 http://rss.hankyung.com/golf.xml
커뮤니티 칼럼 http://rss.hankyung.com/community.xml
소설 금병매 http://rss.hankyung.com/kbm.xml
소설 삼한지 http://rss.hankyung.com/samhanji.xml

 

 

뉴스

분류 주소 주소복사
헤드라인  http://news.mk.co.kr/rss/headline.xml :copyUrl(?http: news.mk.co.kr rss headline.xml?)?>주소복사
실시간 전체뉴스  http://news.mk.co.kr/rss/all.xml :copyUrl(?http: news.mk.co.kr rss all.xml?)?>주소복사
오늘의 화제  http://news.mk.co.kr/rss/today_topic.xml :copyUrl(?http: news.mk.co.kr rss today_topic.xml?)?>주소복사
경제종합  http://news.mk.co.kr/rss/economy_all.xml :copyUrl(?http: news.mk.co.kr rss economy_all.xml?)?>주소복사
정치  http://news.mk.co.kr/rss/social.xml :copyUrl(?http: news.mk.co.kr rss social.xml?)?>주소복사
국제  http://news.mk.co.kr/rss/world.xml :copyUrl(?http: news.mk.co.kr rss world.xml?)?>주소복사
금융  http://news.mk.co.kr/rss/money.xml :copyUrl(?http: news.mk.co.kr rss money.xml?)?>주소복사
기업  http://news.mk.co.kr/rss/company.xml :copyUrl(?http: news.mk.co.kr rss company.xml?)?>주소복사
중기/벤쳐  http://news.mk.co.kr/rss/bio.xml :copyUrl(?http: news.mk.co.kr rss bio.xml?)?>주소복사
증권  http://news.mk.co.kr/rss/stock.xml :copyUrl(?http: news.mk.co.kr rss stock.xml?)?>주소복사
부동산  http://news.mk.co.kr/rss/land.xml :copyUrl(?http: news.mk.co.kr rss land.xml?)?>주소복사
유통  http://news.mk.co.kr/rss/current.xml :copyUrl(?http: news.mk.co.kr rss current.xml?)?>주소복사
사회  http://news.mk.co.kr/rss/social.xml :copyUrl(?http: news.mk.co.kr rss social.xml?)?>주소복사
스포츠/문화  http://news.mk.co.kr/rss/sports.xml :copyUrl(?http: news.mk.co.kr rss sports.xml?)?>주소복사
사설/컬럼  http://news.mk.co.kr/rss/article.xml :copyUrl(?http: news.mk.co.kr rss article.xml?)?>주소복사
기획/섹션  http://news.mk.co.kr/rss/section.xml :copyUrl(?http: news.mk.co.kr rss section.xml?)?>주소복사
이코노미  http://news.mk.co.kr/rss/economy.xml :copyUrl(?http: news.mk.co.kr rss economy.xml?)?>주소복사
시티라이프  http://news.mk.co.kr/rss/citylife.xml :copyUrl(?http: news.mk.co.kr rss citylife.xml?)?>주소복사
English News  http://news.mk.co.kr/rss/english_news.xml :copyUrl(?http: news.mk.co.kr rss english_news.xml?)?>주소복사

Posted by 컴투
프로그래밍/XML2010. 4. 4. 18:05

DOM을 이용한 메타데이터 추출             
                                                                                                                        
                                                                                              

작성자 : 김 인희(kevin@asc.co.kr)

Summary
일반적으로 웹사이트 구축시 테이블 이름이나 sql구문 또는 여러 (사용자가 정의한)코드값들을 그대로 코드에 집어 넣는다. 그리고 웹페이지에서 보여지는 여러 텍스트들도 그대로 코드에 넣는 경향이 있다. 물론 소규모의 프로젝트시에는 문제가 없으나 프로젝트가 커질수록 웹사이트를 유지, 보수하기가 어려워진다. 그래서 xml과 자바를 연동시켜서 위에서 나열한 메타 데이터를 얻는 방법을 소개할까 한다.

---------------------------------------------------------------------------------------------------------


xml은 단지 데이터이기 때문에 xml을 처리하기 위해서는 파싱 과정이 필요하다. 따라서 xml을 사용하는 애플리케이션은 각각의 데이터에 접근하고 처리하기 위한 수단이 필요하다. 그러한 기능을 가지고 있는 것이 SAX와 DOM이다.


SAX 
SAX는 'Simple API for xml'을 의미하며, 그 이름 그대로 xml을 위한 간단한 API를 제공한다. SAX는 xml 데이터를 분석하기 위한 이벤트 기반의 구조를 제공하며, 이러한 구조는 크게 문서를 읽어나가는 과정과 데이터를 사용할 수 있는 부분으로 분리된다. 이벤트는 xml 문서를 순차적으로 처리하는 동안 각 단계에서 발생하며, SAX는 각 이벤트가 발생할 때 호출되는 메소드를 정의하고 있다. 예를 들어, 한 요소의 여는 태그를 만날 경우 startElement() 메소드를 호출하며, 끝 태그를 만날 경우 endElement() 메소드를 호출한다.
SAX는 문서를 읽어나가는 과정에서 발생하는 이벤트를 위한 인터페이스 뿐만 아니라, 잘못된 문서나 비적격(non well-formed) 문서와 같이 xml을 분석하는 과정에서 발생할 수 있는 다양한 상황을 처리할 수 있도록 해 주는 에러와 경고 집합을 정의하고 있다.

 

DOM  
DOM은 'Document Object Model'을 의미한다. SAX가 단지 xml 문서의 데이터에 접근하기 위한 방법을 제공한다면, DOM은 그러한 데이터를 처리하는 방법을 제공하기 위해 설계되었다. DOM은 xml 문서를 트리 형태로 표현한다. 자바를 비롯한 프로그래밍 언어에서는 트리 구조를 쉽게 순회하고 처리할 수 있기 때문에, DOM 트리(xml 문서를 DOM으로 표현한 것을 DOM 트리라고 부른다)를 쉽게 처리할 수 있다. SAX와 달리 DOM은 전체 xml 문서를 메모리에 읽어온 후에 DOM 트리를 구성하기 때문에, 한번 문서를 읽으면 매우 빠르게 전체 문서에 접근할 수 있다.
DOM이 전체 xml 문서를 메모리에 읽어온 후에 DOM 트리를 작성한다는 것이 빠르게 xml 문서의 각 요소에 접근할 수 있다는 장점을 제공하긴 하지만, 반면에 결정적인 단점을 제공하기도 한다. DOM은 xml 문서의 크기에 비례한 메모리를 필요로 하기 때문에, xml 문서의 크기가 커질수록 많은 메모리를 요구하게 된다. xml 문서의 매우 클 경우 이는 매우 많은 양의 시스템 자원을 사용하게 되며, 따라서 시스템의 전체적인 성능 저하 현상을 일으키기도 한다
먼저 각종 코드값을 가지고 있는 xml 문서를 살펴보자.

 

xml 문서(codeSubset.xml)


<?xml version = "1.0" encoding="EUC-KR"?>
<Config> 
 <TableCode>
             <Table code="111">CounselData</Table>
             <Table code="222">KcabBoard</Table>
 </TableCode>
 <JobList>
             <Job code="50">전체</Job>
             <Job code="51">법조계</Job>
   <Job code="52">실업계</Job>
             <Job code="53">학계</Job>
 </JobList>
</Config>

 

코드는 각 엘리먼트의 속성값에 넣었다. 그리고 코드값은 엘리먼트의 양쪽 태그사이에 두었다. xml1.0 스펙에 따르면 태그 사이에 있는 데이터는 문자데이터(character data)이다. 
다음으로 위 xml 문서를 처리해서 코드에 해당하는 코드값을 얻어오는 프로그램을 작성해보자. 여기서는 DOM을 이용할것이다. xml 파 서로는 Apache Xerces(<
http://xml.apache.org>) 파서를 사용하였다. Xerces 파서를 다운 받은다음 클래스패스에 추가하면 된다. 
다음 코드를 살펴보자. 


import org.apache.xerces.parsers.DOMParser;
import org.w3c.dom.Document; 
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.CharacterData;
//import org.apache.xerces.dom.TextImpl;


public class xmlMgr {
           /*
           * 주어진 xml를 찾아 파서로 파싱을 하고 Document를 리턴한다
           */
           private Document getDocument(String uri) {
                       System.out.println("Parsing xml file: "  + uri + "\n");
                       
                       DOMParser parser = new DOMParser();
                       Document doc = null;
                       
                       try {
                                   parser.parse(uri);
                                   doc = parser.getDocument();
                                   
                       } catch(Exception e) {
                                   System.out.println("Error in Parsing : " + e.getMessage());
                       }
                       return doc;
                       
           }
           /*
           * @param uri xml 문서가 위치한 URL
           * @param nodeName 노드 이름
           * @param codeValue 코드값
           */
           public String getConfig(String uri, String nodeName, String codeValue) {
           
                       NodeList nodeList = getNodeList(uri, nodeName);
                       
                       String returnValue = "";
                       /*
                       * 각 노드에 해당하는 속성을 가지고 있는
                       * NamedNodeMap를 얻고 코드에 해당하는 
                       * 코드값을 얻는다
                       */
                       if(nodeList != null) {
                                   for(int i = 0; i < nodeList.getLength(); i++) {
                                               Node node = nodeList.item(i);
                                               NamedNodeMap attributes = node.getAttributes(); 
                                               for(int j = 0; j < attributes.getLength(); j++) {
                                                           Node current = attributes.item(j);
                                                           if(current.getNodeValue().equals(codeValue)) {
                                                                       returnValue = getValue(node.getChildNodes());
                                                           }
                                                           
                                               }
                                   }
                       }
                       return returnValue;            
                                   
           }
           
           private String getValue(NodeList children) {
                       
                       String returnValue = "";
                       if(children != null) {
                                   for(int i = 0; i < children.getLength(); i++) {
                                               returnValue = children.item(i).getNodeValue();
                                   }
                       }
                       return returnValue;
                       
           } 


           /*
           * 주어진 파일이름에 해당하는 Document를 통해
           * 노드이름과 일치하는 NodeList를 얻는다.
           */
           private NodeList getNodeList(String uri, String nodeName) {
                       
                       NodeList returnNodeList = null;
                       Document doc = getDocument(uri);
                       returnNodeList = doc.getElementsByTagName(nodeName);
                       return returnNodeList;
                       
           }

 

코드 중간 중간에 주석을 삽입했기 때문에 이해하는데 어려움은 없을 것이다. 실제로 위와 같은 방법은 상당히 유용한다. 만약
테이블 이름을 얻는다면 다음과 같이 하면 된다.

 

           xmlMgr objxmlMgr = new xmlMgr();
           String tableName = objxmlMgr.getConfig("codeSubset.xml", "Table", "111");

 

그러면 tableName는 "CounselData"를 얻을 것이다.

또 jsp내에서 코드값에 해당하는 텍스트를 얻을때도

 

           <%=objxmlMgr.getConfig("codeSubset.xml", "Job", "51")%>

 

이러한 방법을 사용하면 된다. 


자바와 xml을 연동함으로써 그동안 개발자에게 골치거리였던 유지, 보수 문제를 어느 정도 해결할 수 있다. 앞으로 자바와 xml연동
을 더 효과적으로 한다면 보다 향상된 웹애플리케이션을 작성할 수 있을 것이다.

 

Resources
           * javacan 페이지
                       (<
http://www.javacan.com>)
           * Java and xml (o'reilly)
           * xml Applications(Wrox)

 

궁금한 점이나 고쳐야 할 부분이 있으면 위의 메일 주소로 멜 날려 주세요.

Posted by 컴투
프로그래밍/XML2010. 4. 4. 17:43

다음의 인코딩은 모두 "한글 완성형"을 의미합니다.

* cp949
* MS949
* euc-kr
* ks_c_5601-1987

cp949 와 MS949 는 MS에서 만든 "한글 확장 완성형"이고, 그래서 "똠방각하" "전홥니다" 의 "똠"자나 "홥"자를 사용할 수 있습니다. MS윈도우에서 사용하는 기본 인코딩이 cp949 입니다. (물론 Windows 내부적으로는 유니코드 UTF-16LE 를 사용)

euc-kr 과 ks_c_5601-1987 은 그냥 "한글 완성형"이기에, 똠방각하 등을 쓸 수 없어야 하지만, 현재는 "확장 완성형"과 사실상 동일한 인코딩으로서 사용되므로 표현할 수 있습니다.

다만 Perl(펄)에서는 cp949 가 아닌 euc-kr 로 지정하면, 똠방각하가 나오지 않습니다: ▶▶ [펄 프로그래밍] Perl/Tk 에서, 한글 사용하기; 한글 인코딩



즉, 현재 모든 한글 인코딩은 확장 완성형입니다. (물론 한글 유니코드일 경우에는, 확장 완성형이나 그냥 완성형과는 호환되지 않습니다.)


한글 확장 완성형으로 HTML 파일을 만들 때에는 euc-kr 이라는 이름으로 인코딩을 지정하는 것이 표준입니다. ks_c_5601-1987 이것은 표준이 아닙니다.




MS949 is not supported by the current VM operation system
만약 자바(JAVA)에서 이런 에러가 난다면, 자바 버전이 오래되어서 그럴 수도 있을 것입니다. Sun 에서 제공하는 최신 버전 (1.5 이상)의 자바를 설치해 보시기 바랍니다. ▶▶ [Java] 자바 런타임과 JDK(개발도구; 컴파일러) 파일 다운로드하는 곳은? / 자바의 종류는? [QnA]






업데이트
자바(Java)에서, cp949 나 euc-kr 로 인코딩을 지정하면, "똠방각하" 등이 표현되지 않습니다. 즉 "그냥 완성형"인 것입니다.

따라서 자바에서 똠방각하 등을 제대로 표현하기 위해서는, MS949 인코딩 즉 "한글 확장 완성형"을 사용해야 합니다.

다 만, Perl에서는 cp949 인코딩으로도 확장완성형이 출력됩니다.

[펌 ]http://mwultong.blogspot.com
Posted by 컴투