Notice
Recent Posts
Recent Comments
Link
투케이2K
253. (ios/swift) XMLParser 사용해 xml 데이터 파싱 수행 실시 본문
[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT
[소스 코드]
// MARK: - [테스트 메인 함수 정의 실시]
func testMain() {
print("")
print("====================================")
print("[\(self.ACTIVITY_NAME) >> testMain() :: 테스트 함수 시작 실시]")
print("====================================")
print("")
// [비동기 처리 수행]
DispatchQueue.main.async {
// [초기 변수 선언 실시]
let stringData = "<rss version='2.0'><channel><title>Test Title</title><content>Test Content</content></channel></rss>"
// [XMLParser 선언 실시]
let parser = XMLParser(data: stringData.data(using: .utf8)!)
parser.delegate = self // [딜리게이트 지정]
parser.parse()
}
}
// MARK: - [extension 딜리게이트]
extension A_Intro : XMLParserDelegate {
func parser(_ parser: XMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String : String] = [:]) {
print("")
print("====================================")
print("[\(self.ACTIVITY_NAME) >> didStartElement() :: xml 파싱 태그 확인]")
print("elementName :: \(elementName)")
print("qName :: \(qName)")
print("attributeDict :: \(attributeDict)")
print("====================================")
print("")
}
/*
func parser(_ parser: XMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?) {
print("")
print("====================================")
print("[\(self.ACTIVITY_NAME) >> didEndElement() :: xml 파싱 결과 확인]")
print("elementName :: \(elementName)")
print("qName :: \(qName)")
print("====================================")
print("")
}
// */
func parser(_ parser: XMLParser, foundCharacters string: String) {
print("")
print("====================================")
print("[\(self.ACTIVITY_NAME) >> foundCharacters() :: xml 파싱 데이터 확인]")
print("string :: \(string)")
print("====================================")
print("")
}
}
[결과 출력]
반응형