2010-09-01 2 views
0

Я использую NSXMLParser для анализа XML-документа, который возвращается с веб-службы, размещенной удаленно. XML является допустимым, но некоторые из узлов иногда будут пустыми, это, по-видимому, вызывает падение NSXMLParser (ошибка NSXMLParserErrorDomain 5), однако я не могу найти что-либо в сети, что предполагает, что будет проблема с парсингом пустых узлов, поэтому Я задавался вопросом, не испытали ли у кого-нибудь какие-либо проблемы с этим и могли подтвердить или опровергнуть мою теорию о том, что NSXMLParser не может справиться с пустыми тегами?Ошибка NSXMLParser Преждевременная ошибка документа, вызванная пустыми узлами?

Мой XML идет что-то вдоль линий:

<Entry> 
    <Request>2</Request> 
    <ID>123456789</ID> 
    <Name></Name> 
    <UserName>username</UserName> 
    <Password>password</Password> 
    <SessionID>987654321</SessionID> 
    <Oldest></Oldest> 
    <Newest></Newest> 
    <List></List> 
</Entry> 

Анализатор выдает ошибку, когда он попадает к элементу, он вызывает DidStartElement, а затем исчезает прочь в код парсера и бросает перед тем, как вызвать дополнительные методы делегата.

ответ

0

Ваша проблема, скорее всего, связана с реализацией NSXMLParser. Моя реализация NSXMLParser отлично обрабатывает пустые узлы, хотя я не понял способ фактически хранить @ "" внутри пустых узлов в словаре, который я создаю из XML. parser: foundCharacters: никогда не вызывается, когда NSXMLParser попадает на пустой узел, поэтому ваша реализация там или в парсере: didEndElement: почти наверняка вызывает проблему.

Смежные вопросы