1. 개요

RSS(Rich Site Summary 또는 Really Simple Syndication)는 다양한 위치에서 집계된 콘텐츠를 독자에게 제공하는 웹 피드 표준입니다. 사용자는 자신이 좋아하는 블로그, 뉴스 사이트 등에 최근 게시된 내용을 모두 한 곳에서 볼 수 있습니다.

응용 프로그램은 RSS를 사용하여 RSS 피드를 통해 정보를 읽거나 조작하거나 게시할 수도 있습니다.

이 문서에서는 Rome API를 사용하여 Java에서 RSS 피드를 처리하는 방법에 대한 개요를 제공합니다.

2. 메이븐 의존성

Rome API에 대한 의존성을 프로젝트에 추가해야 합니다.

<dependency>			
    <groupId>rome</groupId>			
    <artifactId>rome</artifactId>			
    <version>1.0</version>
</dependency>

Maven Central 에서 최신 버전을 찾을 수 있습니다 .

3. 새 RSS 피드 만들기

먼저 SyndFeed 인터페이스 기본 구현 인 SyndFeedImpl 을 사용하여 Rome API로 새 RSS 피드를 만들어 보겠습니다 . 이 인터페이스는 모든 RSS 특징을 처리할 수 있으므로 항상 안심하고 사용할 수 있습니다.

SyndFeed feed = new SyndFeedImpl();
feed.setFeedType("rss_1.0");
feed.setTitle("Test title");
feed.setLink("http://www.somelink.com");
feed.setDescription("Basic description");

이 스니펫에서는 제목, 링크 및 설명과 같은 표준 RSS 필드가 있는 RSS 피드를 만들었습니다. SyndFeed 는 저자, 기여자, 저작권, 모듈, 게시 날짜, 이미지, 외국 마크업 및 언어를 포함하여 더 많은 필드를 추가할 수 있는 기회를 제공합니다 .

4. 항목 추가

RSS 피드를 만들었으므로 이제 여기에 항목을 추가할 수 있습니다. 아래 예에서는 SyndEntry 인터페이스 기본 구현 SyndEntryImpl 을 사용하여 새 항목을 만듭니다.

SyndEntry entry = new SyndEntryImpl();
entry.setTitle("Entry title");        
entry.setLink("http://www.somelink.com/entry1");
    
feed.setEntries(Arrays.asList(entry));

5. 설명 추가

항목이 지금까지 비어 있으므로 항목에 대한 설명을 추가하겠습니다. SyndContent 인터페이스 기본 구현 SyndContentImpl 을 사용하여 이를 수행할 수 있습니다 .

SyndContent description = new SyndContentImpl();
description.setType("text/html");
description.setValue("First entry");

entry.setDescription(description);

setType 메소드를 사용하여 설명의 내용이 텍스트 또는 HTML이 되도록 지정했습니다.

6. 카테고리 추가

RSS 항목은 종종 우리가 관심 있는 항목을 찾는 작업을 단순화하기 위해 범주로 분류됩니다. SyndCategory 인터페이스 의 기본 구현 SyndCategoryImpl 을 사용하여 항목에 범주를 추가하는 방법을 살펴보겠습니다.

List<SyndCategory> categories = new ArrayList<>();
SyndCategory category = new SyndCategoryImpl();
category.setName("Sophisticated category");
categories.add(category);

entry.setCategories(categories);

7. 피드 게시

항목이 있는 RSS 피드가 이미 있습니다. 이제 우리는 그것을 출판하고자 합니다. 이 문서의 목적상 게시란 피드를 스트림에 쓰는 것을 의미합니다.

Writer writer = new FileWriter("xyz.txt");
SyndFeedOutput syndFeedOutput = new SyndFeedOutput();
syndFeedOutput.output(feed, writer);
writer.close();

8. 외부 피드 읽기

우리는 이미 새 피드를 만드는 방법을 알고 있지만 때로는 기존 피드에 연결하기만 하면 됩니다.

URL이 주어지면 피드를 읽고 로드하는 방법을 살펴보겠습니다.

URL feedSource = new URL("http://rssblog.whatisrss.com/feed/");
SyndFeedInput input = new SyndFeedInput();
SyndFeed feed = input.build(new XmlReader(feedSource));

9. 결론

이 기사에서는 일부 항목이 포함된 RSS 피드를 만드는 방법, 피드를 게시하는 방법 및 외부 피드를 읽는 방법을 설명했습니다.

항상 그렇듯이 GitHub 에서 이 기사에 제공된 예제를 확인할 수 있습니다 .

Generic footer banner