Как проанализировать XML-файл, который закодирован другим кодировщиком, отличным от utf-8, с использованием NSXMLParser в target-C? - PullRequest
1 голос
/ 23 октября 2009

Есть ли способ проанализировать XML-файл, который закодирован в Windows-1254 с использованием NSXMLParser? Когда я пытаюсь, didStartElement метод не вызывается.

Код

NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:webData]; 
XMLParser *parser = [[XMLParser alloc] initXMLParser: objectList];
[parser setReqType:reqType]; 
[xmlParser setDelegate:parser]; 
[xmlParser parse]; 

XML - это

<?xml version="1.0" encoding="windows-1254" ?> 
 <CANLIMACLAR> 
 <CANLIMACLARROWS> 
<TARIH>19/10/2009 21:15</TARIH> 
<TAKIM1>Union Berlin</TAKIM1> 
<TAKIM2>Fürth</TAKIM2> 
<SONUC1>1</SONUC1> 
<SONUC2>2</SONUC2> 
<DK_DURUM>Maç Sonu</DK_DURUM> ... 
</CANLIMACLARROWS> ...
 </CANLIMACLAR> 

Ответы [ 2 ]

0 голосов
/ 26 октября 2009

Не забудьте, что parse () возвращает NO, вы можете проверить parseError, чтобы увидеть, что произошло:

if ([parser parse] == NO)
{
   NSError *error = [parser parserError];
   NSString *readableMessage = [error localizedDescription];
   NSLog(@"Error occurred: %@\n", readableMessage);
}
0 голосов
/ 23 октября 2009

Я удалил часть <?xml version="1.0" encoding="windows-1254" ?> из данных XML, а затем отправил ее в xmlParser, так что проблем больше нет.

...