오늘은 이클립스에 subclipse를 설치하여 팀 프로젝트를 효율적으로 하는 방법을 배워보겠다.

팀 작업을 효율적으로 하기 위해서는 svn이라는 버전 관리 시스템이 사용된다. 이를 사용하면 업데이트한 시간별로 프로젝트를 관리할 수 있고, 동시 작업을 할 때 각자 맡은 부분을 작성한 다음 merge기능을 이용해 합쳐줄 수도 있다.
그러면 먼저 svn을 다운받아보자.

http://subversion.tigris.org/가 svn을 제공해주는 공식 홈페이지이다.
여기에서 svn을 다운받을 수 있는데 우리는 이클립스에서 작업을 진행할 것이므로 eclipse버전의 svn을 다운받아야 한다.
홈페이지의 아래쪽으로 내려보면 아래 그림과 같은 메뉴를 볼 수 있을 것이다.



위의 메뉴를 발견했으면 Eclipse를 누르자. 그러면 Subclipse라는 페이지로 넘어가게 되는데 여기에서 Download and Install을 클릭하자.




이제 다운로드 페이지에서 최신 버전의 Eclipse update site URL을 복사해야한다. 현재 최신 버전은 1.6.x이므로 이 주소를 복사하자. (여기에서 zip파일을 다운받는 것이 아니라 이클립스의 URL을 이용한 업데이트를 할 것이므로 site URL을 복사하는 것이다.)



Eclipse update site URL : http://subclipse.tigris.org/update_1.6.x
이 주소를 복사했으면 이클립스를 켜고  Help - Install New Software... 을 클릭하자.
Add버튼을 누르고 Name과 Location란에 복사한 링크를 붙여넣자.
그러고 나면 Install목록에 아래 그림과 같이 3개가 생길 것이다. 모두 체크하고 Next버튼을 눌러서 설치하자.




소프트웨어 인스톨이 다 끝나고 나면 이클립스를 재시작하고 이클립스의 오른쪽 상단을 보자.



>>버튼을 눌러서 SVN Repository Exploring을 누르자. (만약 >>버튼을 눌러서 나오지 않는다면
버튼을 눌러서 나오는 메뉴 중에 SVN Repository Exploring이 있는지 보자. 있으면 클릭하고 없으면 Other...을 클릭해서 보면 SVN Repository Exploring이 있을 것이다. Other...을 눌러서도 없다면 svn설치가 제대로 되지 않은 것이다.)

위의 과정을 잘 따라왔다면 아래 그림과 같이 왼쪽편에 SVN Repositories창이 생긴다.



SVN Repositories창 안에서 오른 클릭하여 New - Repository Location... 을 누르자.
그러면 아래 그림과 같이 저장소의 위치를 입력하는 창이 뜬다. 여기에서 자신이 사용할 저장소의 주소를 넣으면 되는 것이다.


여기에서는 구글 프로젝트에서 제공해주는 저장소를 사용하고 있다. 하지만 개인적으로 다른 곳에 svn서버가 있어서 그것을 이용하는 것도 괜찮다.

다음 포스팅에서는 구글 프로젝트에서 어떻게 저장소를 만들고 사용하는지는 알아보도록 하자.
Posted by 컴투
프로그래밍/Java2010. 4. 6. 10:09

Static

자바에서 static으로 선언하면 해당 메서드나 변수는 정적이된다. 만약 클래스의 변수를 static으로 선언하게 되면 그 변수는 객체의 변수가 되는 것이 아니라 클래스의 변수가 된다. 클래스의 변수이기 때문에 어떤 객체라도 동일한 주소의 변수를 참조하게 된다.

static의 특징

  • 객체를 생성해도 static 변수는 메모리에 하나만 생성된다.
  • 다른 JVM에서는 선언을 하면 다른 주소나 다른 값을 참조하지만 같은 JVM이나 WAS 인스턴스에서는 같은 주소와 같은 값을 참조한다.
  • CG의 대상도 되지 않는다.
  • 지역변수에 static을 사용할 수 없다. (매서드 안에서 사용 불가능)

만약에 properties파일을 많이 사용한다면 차라리 static으로 읽어서 관리하는 것도 좋다. 왜냐하면 매번 클래스의 객체가 만들어질 때 properties를 불러오려면 부하가 많이 걸리기 때문이다.

조심해야할 것
위에 말했듯이 static은 CG 대상이 아니다. 그렇기 때문에 잘못하면 Memory Leak 현상이 발생하게 된다. 이는 시스템의 메모리를 마구 먹어서 결국은 OutofMemoryError을 발생시킬 수 있다. (Collection을 Static으로 잡고 안에 아무 데이터나 마구 넣은다음 돌려보길 바란다. 그럼 바로 GG..)

final

final은 한번 final로 지정한 값은 변하지 않는다. 변수 앞에 final이 붙으면 상수를 의미한다.

Posted by 컴투
아침에 출근해서 집에서 수정해서 가지고 온 프로젝트를 그대로 엎어서(?) 실행을 했더니
갑자기 아래의 글과 함께 에뮬이 실행되지 않는다.

Re-installation failed due to different application signatures.
You must perform a full uninstall of the application. WARNING: This will remove the application data!
Please execute 'adb uninstall com.example.uimain' in a shell.
Launch canceled!

위와 관련글을 찾아보니 사람들이 상세히 설명해 놓았다.
 에뮬레이터에 프로그램을 컴파일하고 인스톨이 되는데, 프로그램 소스의 변화가 심할경우 (예를 들어 AndroidManifest.xml을 건드리거나 맵뷰의 apikey 설정)을 건드릴 경우, 에뮬상의 프로그램하고  시그너쳐 (그러니까 프로그램을 식별할 수 있는 값)가 달라져서 에러가 발생한다는 것이다 .해결방법은 이렇다.

1.   c:\Documents and Settings\<사용자디렉토리>\Local Settings\Application Data\Android\SDK-1.1 이 디렉토리 밑에 userdata-qemu.img  파일을 삭

2. Please execute 'adb uninstall com.example.uimain' in a shell. 라는 메세지 대로 쉘에서 'adb uninstall com.example.uimain' 라고 친다

3. 실행된 에뮬레이터에서 Settings -> Applications -> Manageapplications -> 해당 App 을 직접 Uninstall 시킨다.

3가지중 한가지를 선택해서 실행하면 된다..
Posted by 컴투
프로그래밍/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 컴투

안드로이드 개발을 하게 되면서...
웹과의 통신을 하거나.. 스트리밍을 하게 될 때 처음에 이런 에러를 접하게 될 경우가 있습니다.
머 그냥 간단하게 permission 설정을 해주지 않아서 생긴 에러입니다. 이것을 해결 하게 위해서는
manifest파일에 android.permission.INTERNET을 추가해 주면 됩니다.

에러 화면은 이렇습니다. LogCat에 나와 있는 상태가

이런 모습으로 보일 것이고... permission 설정은


현재 진행중인 프로젝트에서 AndroidManifest.xml파일을 열어줍니다.
그리고 나서는


Permissions 탭을 선택하고 나서


Add버튼을 투르게 되면 다이얼로그 창이 하나 나타나게 됩니다.


Uses Permission을 선택하고 OK를 누르고 나갑니다.


마지막으로 Name의 콤보박승에서 android.permission.INTERNET을 선택하고 저장하게 되면 됩니다.
xml파일의 내용을 확인하게 되면

이런식으로 추가된 내용을 확인할 수 있습니다.

이렇게 되면 문제 없이 원하는 대로 실행이 될 것입니다.

출처 : http://drcarter.tistory.com/
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 컴투