Как я могу подключить iPhone и веб-сервис и получить данные XML? - PullRequest
27 голосов
/ 09 декабря 2008

Я знаю, как подключиться к веб-серверу с помощью iPhone, но теперь мне нужно подключить iPhone к веб-сервису. Я не знаю, как это сделать, и в Интернете нет демо-версии или класса.

У кого-нибудь есть идеи?

Ответы [ 8 ]

20 голосов
/ 09 декабря 2008

Может оказаться полезным это руководство, которое называется Intro to SOAP Web Services . Он показывает, как упаковать запрос, отправить его в веб-службу и прочитать ответ.

Если вам нужна помощь с синтаксическим анализом XML, есть библиотека TouchXML , которая предоставит вам хороший XML-документ для работы. Просто будьте осторожны с использованием памяти.

Если вам нужно проанализировать большое сообщение XML, этот учебник о libxml и xmlreader в Какао покажет вам, как анализировать XML с помощью анализаторов стиля событий более низкого уровня.

16 голосов
/ 17 марта 2010

Я создал приложение с открытым исходным кодом для iPhone OS 3.0, которое показывает, как использовать службы REST & SOAP в приложении iPhone, используя XML (используя 8 различных библиотек iPhone), SOAP, JSON (используя SBJSON и TouchJSON), YAML, Буферы протокола (формат сериализации Google) и даже CSV из примера приложения PHP (входит в проект).

http://github.com/akosma/iPhoneWebServicesClient

Проект достаточно модульный, чтобы в будущем поддерживать множество других форматов и библиотек.

Следующая презентация в SlideShare показывает мои выводы с точки зрения производительности, простоты реализации и характеристик полезной нагрузки:

http://www.slideshare.net/akosma/web-services-3439269

12 голосов
/ 09 декабря 2008

Вы можете использовать эти 2 строки, которые возвращают ответ вашего HTTP-запроса. Вам не нужно никаких настроек. Этот код полезен, если вы пытаетесь получить доступ к PHP-скрипту, например. После того, как вы просто проанализируете свой результат.

NSURL *URL=[[NSURL alloc] initWithString:stringForURL];
NSString *results = [[NSString alloc] initWithContentsOfURL :URL];
3 голосов
/ 24 октября 2009

Вы можете попробовать это. Я создал несколько классов, которые вы можете просто включить в свой проект, а затем следовать примерам, вы даже можете загрузить набор данных .net и запросить его, если вы используете .net в качестве поставщика веб-услуг. http://grabalife.com/2009/10/19/using-net-web-services-and-dataset-objects-in-your-iphone-app/

3 голосов
/ 09 декабря 2008

На мой взгляд, у вас есть два варианта:

  • Используйте стороннюю библиотеку. Вы можете попробовать wsdl2objc . У меня это не сработало, но активно развивается, и с каждым днем ​​все улучшается.
  • Используйте необработанное HTTP-соединение и обрабатывайте каждый запрос / ответ. Это путь, которым я следовал. Это сложно, поэтому я также хотел бы узнать лучший подход.
2 голосов
/ 01 декабря 2009

Возможно, вы использовали одно из указанных выше решений, но этот пример приложения от Apple великолепен. Он демонстрирует, как использовать NSXMLParser для анализа XML-данных в RSS-канале Пример SiesmicXML

1 голос
/ 22 октября 2011

Хороший пример вы можете найти здесь

Как пользоваться веб-сервисом в Iphone

Пусть тебе это поможет

1 голос
/ 22 февраля 2010

Существует также хороший пример на devx , который вы можете подключить через http пост и / или получить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...