반응형
개요
xml 파일에서 문자열 데이터를 가져오는 예시입니다.
AEXML 라이브러리 를 이용했습니다.
제가 사용하는 소스 인데, 핵심부분만 추렸습니다. (까먹을 경우를 대비해서...)
AEXML
- 공식 : https://github.com/tadija/AEXML
추가하는 방법은, Swift Package Manager, Carthage, CocoaPods 세 종류가 있는데, 제 경우에는 Carthage 방식으로 추가했습니다.
Carthage 로 추가할 경우에는
github "tadija/AEXML"
를 cartfile 에 추가해주고 , 터미널에서 carthage update --platform iOS
를 해줍니다.
소스 코드
import UIKit
import AEXML
class Main_ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
guard let
xmlPath = Bundle.main.path(forResource: "dictionary", ofType: "xml"),
let data = try? Data(contentsOf: URL(fileURLWithPath: xmlPath))
else { return }
do {
let xmlDoc = try AEXMLDocument(xml: data)
var key: String = ""
let description = xmlDoc.root["key123"]["description"].string
do {
str_explanation = try NSAttributedString(data: description.data(using: String.Encoding.unicode, allowLossyConversion: true)!, options: [.documentType : NSAttributedString.DocumentType.html], documentAttributes: nil)
// txview_description.attributedText = str_explanation // textview 에 값을 넣는 예시
} catch {
print(error)
}
}
catch {
print("\(error)")
}
}
}
참고
- Swift 3.2 를 이용중이라면 AEXML 4.2.2 버전을 이용.
- Swift 4 버전대를 이용중이라면 최신 버전 (현재 기준으로 4.3.3) 을 이용.
반응형
'개발 > iOS' 카테고리의 다른 글
[아이폰 앱 개발, Xcode] base SDK 와 Deployment target 버전 (0) | 2019.04.26 |
---|---|
[CocoaPods] linker command failed with exit code 1 (0) | 2019.03.25 |
[Xcode] Carthage 에 대해 짧게 메모 (0) | 2019.03.22 |
[Xcode] xcworkspace, xcodeproj 에 대한 메모 (0) | 2019.03.21 |
[Xcode] The run destination ~ is not valid for Running the scheme '~~'. 메모 (0) | 2019.03.19 |
[Xcode 기초] Navigator 와 Utilities 창 (0) | 2017.04.20 |