NSXMLParser Ошибка - PullRequest
       17

NSXMLParser Ошибка

0 голосов
/ 13 ноября 2009

Я использую NSXMLParser для анализа html-файла на стороне сервера (с помощью iphone sdk 3.0) и мой синтаксический анализатор прекращает синтаксический анализ после возникновения ошибки и вызывает сообщение делегата

  • (void) анализатор: (NSXMLParser *) анализатор parseErrorOccurred: (NSError *) parseError

Мои вопросы: Как я могу разобрать файл после того, как он обнаружил ошибку. Есть ли способ сделать это.

Спасибо

Ответы [ 2 ]

2 голосов
/ 13 ноября 2009

Вы не можете. Разбор останавливается при обнаружении ошибки. В любом случае, было бы трудно понять, что означала остальная часть ошибочного документа XML, поскольку значение чего-либо в одном месте документа зависит от всего, что было до него (в данном случае, включая ошибку).

0 голосов
/ 17 ноября 2009

Вы ищете другой вид парсера. Парсер "at-all-cost" сможет делать то, что вы хотите. Если вы получаете XML из разных источников, это идеально.

Если у вас есть несколько источников, вы можете обойти их проблемы. Например, если единственная проблема, которую вы получаете, это то, что вам сказали, что это был UTF-8, когда выясняется, что это ISO-8859-1, вы могли бы пройти через него один раз, выяснить, что это не удается из-за проблем с символами, конвертировать XML от ISO-8859-1 до UTF-8 и попробуйте снова. Поскольку вы знаете, где была ошибка, вы можете попытаться исправить ее. Хотя идти по этому пути довольно дорого.

...