Как разобрать специальные символы в XML для iPad? - PullRequest
1 голос
/ 17 мая 2011

У меня проблема при разборе XML-файлов, содержащих некоторые специальные символы, такие как одинарные кавычки, двойные кавычки (', "") и т. Д. Я использую метод NSXMLParser parser:foundCharacters: для сбора символов в моем коде.

<synctext type = "word" >They raced to the park Arthur pointed to a sign "Whats that say" he asked Zoo said DW Easy as pie</synctext>

Когда я анализирую и сохраняю текст сверху тега моего xml-файла, результирующая строка отображается в GDB как

"\ n \ t \ tThey racedв парк Артур указал на табличку \ "Что сказать \", он спросил, что зоопарк сказал: DW Easy as pie ";

Обратите внимание, есть 2 вопроса:

1) Нежелательные персонажив начале строки.

2) Двойные кавычки вокруг Что говорят .

Может ли кто-нибудь помочь мне, как избавиться от этих нежелательных символов икак правильно читать специальные символы.

Ответы [ 2 ]

2 голосов
/ 17 мая 2011

NSString * string = [string stringByTrimmingCharactersInSet: [NSCharacterSet characterSetWithCharactersInString: @ "\ n \ t"]];

0 голосов
/ 17 мая 2011

Парсер явно возвращает именно то, что находится в строке. То есть XML был закодирован с начальным тегом в одной строке, новой строкой, двумя вкладками и началом строки. И кавычки в строке, очевидно, присутствуют в оригинале (и по крайней мере в этом примере непонятно, почему вы хотите их удалить).

Но если вы хотите, чтобы эти символы исчезли, вам нужно постобработать строку. Вы можете использовать оператор Рамса для удаления новой строки и вкладок, а stringByReplacingOccurferencesOfString: WithString: для удаления кавычек.

(Обратите внимание, что некоторые парсеры XML могут быть проинструктированы возвращать строки, подобные этой, с удаленными начальными / конечными символами, но я не уверен в этом. Хотя кавычки всегда будут там.)

...