12.2.1 RSSFavorite

먼저 RSS 피드를 즐겨찾기에 등록 요청이 왔을 때 이를 개체화하는 RSSFavorite 클래스를 구현합시다.

RSSFavorite 형식 개체는 RSS 브라우저 응용을 끝낼 때 파일로 저장하였다가 다시 실행할 때 로딩하여 사용할 것입니다. 이를 위해 직렬화 가능한 형식 개체로 지정합시다.

멤버 속성으로 타이틀과 페이지 주소, 설명, 폴더를 제공합시다.

RSSFavorite 개체는 RSS 피드를 등록하였을 때 이 정보를 개체로 표현할 것입니다. 여기서는 등록할 RSS 피드의 주소와 항목을 보관할 컬렉션을 입력 인자로 받아 RSSFavorite 개체를 생성하는 정적 메서드를 제공할게요.

먼저 XmlDocument 개체를 생성하여 RSS 피디의 주소의 내용을 로드합니다.

루트 노드인 rss 노드를 선택하고 자식 노드인 channel 노드를 선택합니다.

channel 노드의 자식 요소의 정보로 타이틀, 주소, 상세 정보, 폴더 정보를 얻어옵니다.

항목 정보를 얻기 위해 item 노드 리스트를 선택합니다.

선택한 item 노드 리스트의 각 항목으로 Item 개체를 생성하여 Item 컬렉션에 추가합니다.

이렇게 얻은 정보로 RssFavorite 개체를 생성하여 반환합니다.

Item 개체를 만드는 MakeItem 정적 메서드를 구현합시다.

입력 인자로 받은 XmlNode의 자식 항목으로 타이틀, 상세 설명, 이미지 위치, 페이지 주소, 게시자, 게시 일시 정보를 얻어옵니다.

생성자 메서드는 정적 메서드 MakeRSSFavorite에 의해 호출하며 다른 형식에서 호출하지 않습니다. 따라서 접근 지정을 private로 지정할게요.

생성자에서는 입력 인자로 전달받은 것으로 속성을 설정합니다.

ToString 메서드를 재정의하여 타이틀을 반환합시다.

▷ RSSFavorite.cs