2015-02-02 1 views
0

Я пытаюсь проанализировать ответ Soap (сниппет, показанный ниже), используя NSXMLParser. Однако, когда я печатаю имена элементов в методе делегата didStartElemnt, я получаю только следующие возвращаемые элементы.Анализ SOAP-ответа с использованием NSXMLParser с Swift

имя Элемента мыло: Конверт

имя Элемента мыло: Тело

Имя элемента является SearchResponse

Имя элемента является SearchResult

<?xml version="1.0" encoding="utf-8" standalone="no"?> 
 
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
 
\t <soap:Body> 
 
\t \t <SearchResponse xmlns="http://www.example.com/"> 
 
\t \t \t <SearchResult><?xml version="1.0" encoding="utf-8"?><Results xmlns="http://www.example.com/XMLSchema/SearchResult" xmlns:gms="http://www.def.ghi.uk/CM/gms" xmlns:n2=" (more here + further elements....)

Почему я не вижу результат (или любой последующий) элемент?

ответ

0

Скорее всего это вторая директива <?xml . . .>, которая появляется внутри <SearchResult>. Эта директива разрешается только в начале файла xml.

+0

Я предположил, что это может иметь какое-то отношение к этому. Какие-либо предложения относительно того, как я могу решить проблему? – JingsCrivvens

+0

В идеале вы должны удалить его на стороне сервера. Если это невозможно, то способ грубой силы сделать это - удалить директиву о нарушении из строки перед синтаксическим анализом. – fred02138

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

  • Нет связанных вопросов^_^