şimdi şu en son gösterdiğin problemin kaynağı türkçe karakterler.
["TR", "Yurti", "çi Kargo Servisi A.Ş.", "TR", "B", "üyük
Mükellefler", "N", "İLVERA YAZILIM VE BİLİŞİM HİZMETLERİ
TİC.LTD.ŞTİ.", "TR", "ERC", "İYES", "KDV", "KDV", "Posta Hizmet
Geliri", "KDV", "G", "önderici Ödemeli Hizmet Geliri-BTK\'ya Tabi"]
dikkat ettiysen "cbc:Name" tag'ı içerisinde yer alan türkçe karakterler yüzünden kesintiye uğruyor.
URL sorgusundan aldığın data'yı dirkekt XML parser'e göndermek yerine önce string'e çevirip içerisinde yer alan türkçe karakterleri de PercentEncoding ile encode etmek daha sonra tekrar data'ya çevirip öyle XML parser'e göndermek gerekiyor.
if let receivedData = data {
if let aString = String(data: receivedData, encoding: String.Encoding.utf8) {
if let percentage = aString.addingPercentEncoding(withAllowedCharacters:CharacterSet(charactersIn:"ıİöÖçÇüÜğĞşŞ").inverted) {
if let aData = percentage.data(using: String.Encoding.utf8) {
let parser = XMLParser(data: aData)
parser.delegate = self
parser.parse()
}
}
}
}
daha sonrada func parser(_ parser: XMLParser, foundCharacters string: String) fonksiyonu içerisinde yakalanan string'ler içerisinde PercentEncoding ile encode edilmiş karakterleri türkçe karakterlere çevirip öyle array'e eklersin.
if currentParsingElement == "cbc:Name" {
if let percentEncodeRemoved = foundedChar.removingPercentEncoding {
value3.append(percentEncodeRemoved)
}
}