Project 08 - RSSParser

DaY·2021년 4월 6일
1

iOS

목록 보기
23/52
post-thumbnail

RSS란?

Rich Site Summary의 약자로, 뉴스나 블로그 사이트에서 주로 사용하는 콘텐츠 표현 방식이다.
RSS는 사용자들이 사이트를 직접 방문하지 않고도 새로운 기사들을 확인할 수 있도록 하나의 파일 로 많들어 놓은 것으로,
RSS파일 주소를 사용하여 새로운 기사들을 접할 수 있다.

RSS는 Markup 언어로 이루어져 있다. 따라서 "< >"과 같은 태그 사이에 있는 문자열을 parsing하기 위해서 XMLParser를 사용해야 한다.

XMLParser

let url = URL(string: feedURL)

let parser = XMLParser(data: url)
parser.delegate = self
parser.parse()

URL 타입의 매개변수를 넣어 XMLParser 객체 생성 후 parse()를 통해 넣어준 URL 응답을 파싱한다.

파싱받은 값은 XMLParserDelegate에 로직을 구현해 필요한 값을 받아온다.

XMLParserDelegate

XMLParserDelegate의 로직 구현

태그의 시작

func parser(_ parser: XMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String: String] = [:]) {

}

태그의 끝

func parser(_ parser: XMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?) {

}

태그 사이 문자열

func parser(_ parser: XMLParser, foundCharacters string: String) {

}

오류 처리

func parser(_ parser: XMLParser, parseErrorOccurred parseError: Error) {

}

0개의 댓글