REST 웹 서비스를 통해 XML 형식의 데이터를 다운로드하려고합니다. NSXMLParser를 사용하여 파서를 이미 만들고 TableView에서 데이터를 시각화했습니다.NSXMLParser : 비 ASCII 문자로 인해 예기치 않은 결과가 발생했습니다.
액센트로 XML 문서 문장을 볼 때 문제가 있습니다. 나는 내 문제에 this 매우 유사 발견하고 그것을 구현하려고 몇 가지 조사 중
: 내가 정확하게 디코딩 전체 XML 파일을 인쇄 println (resulset)
에
func parse(handler:() -> Void) {
self.handler = handler
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
self.countCategoryScheme = 0
var url = NSURL(string: SomeStructure.firstLink);
var err:NSError = NSError()
var dataString: String = String(contentsOfURL: url!, encoding: NSUTF8StringEncoding, error: nil)!
var data: NSData = dataString.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!
let parser = NSXMLParser(data: data)
let resulset = NSString(data: data, encoding: NSUTF8StringEncoding)
println(resulset)
parser.delegate = self;
parser.parse();
if !parser.parse() {
self.delegate?.XMLParserError(self, error: "I Parse Error")
println("I Parser error")
}
}
}
.
문제는 내가 파서를 실행할 때 내가 파서의 문자 발견했을 때, 악센트 문자가이 코드
읽을 수 없습니다입니다 :
func parser(parser: NSXMLParser!, foundCharacters string: String!) {
myList[position] = string
}
편집 :
이를 내 문서의 한 예입니다.
<Name xml:lang="en" xmlns="">National Accounts</Name>
<Name xml:lang="it" xmlns="">Contabilità nazionale</Name>
println()에서 위에서 설명한대로 문서를 올바르게 인쇄하십시오. 내가 데이터를 저장 갈 때 "는"나에게이 절약 경우
대신 carachter을 발견
"Contabilit을"
parser:foundCharacters:
위임 방법은 하나의 XML 요소에 대한 이상 번 호출 할 수 있습니다
내가 좀 더 분명 희망을 편집 한 좋아 :)을 – Stephany
String에서 무엇을 얻는 지 보여주는 예를 보여줄 수 있습니까? (소스를 참조하여 무엇을 기대할 수 있습니까?) –
좋아요, 예를 가지고 편집했습니다 – Stephany