XML-файл - я хотел бы использовать латинские символы, такие как 'á, â, ã, ó' - PullRequest
2 голосов
/ 07 июля 2011

Я использую NSXMLParse для анализа моего file.xml. Это работает, но когда я извлекаю внутренний текст this file.xml, некоторые слова обрезаются, и я полагаю, что это проблема кодирования.

Например, маленькая часть моего файла file.xml:

<?xml version="1.0" encoding="UTF-8" ?> 
<book>
<titulo>Síndrome de Tietê</titulo> 
<pagina numero="1">
<linha numero="1">A luz forte do sol lá fora fazia um grande contraste com o escuro do cômodo.</linha> 
<linha numero="2">Poucas pessoas. Móveis rústicos e panelas penduradas, com teias de aranha. Gente magra.</linha> 
</pagina>
</book>

Итак, когда я анализирую и извлекаю '', содержимое выглядит так: 'fora fazia um grande contraste com o escuro do cômodo'

ВМЕСТО 'Luz forte do sol lá fora fazia um grande contraste com o escuro do cômodo'

Я не знаю почему, но он обрезает фразу, когда появляется такое слово «а». Это происходит со всеми тегами, всегда внутри есть что-то вроде этого: а, я, я ... 1012 *

По этой причине мне интересно, связано ли это с "enconding" из моего XML-файла.

Мой код для загрузки моего XML-файла:

-(id)loadXMLByURL:(NSString *)fileName:(NSString *)extName {
    NSString *xmlFilePath = [[NSBundle mainBundle] pathForResource:fileName ofType:extName];
    NSData *xmlData = [NSData dataWithContentsOfFile:xmlFilePath];
    xmlParser = [[NSXMLParser alloc] initWithData:xmlData];
    xmlParser.delegate = self;
    [xmlParser parse];
    return self;
}

Вызов вышеуказанной функции:

xmlCon = [[XMLControl alloc] loadXMLByURL:@"geracao":@"xml"];

Есть идеи?

1 Ответ

0 голосов
/ 07 июля 2011

Первое, что нужно проверить, это то, является ли кодировка, объявленная в верхней части XML-файла, действительно тем, в чем файл закодирован. Старомодный способ проверить это посмотреть на вывод шестнадцатеричного или восьмеричного дампа иубедитесь, что символы, подобные í, представлены ожидаемой двухбайтовой последовательностью.Самый простой способ проверить это - взглянуть на файл в редакторе, который понимает концепцию кодировки символов (почти в любом программном редакторе), и посмотреть, в какой кодировке написано, что файл находится. Если он не соответствует объявлению, парсеры XML будут неверно истолкованыфайл.

...