如何连接iPhone和Web服务并获取XML数据?

时间:2008-12-09 13:18:12

标签: iphone objective-c web-services cocoa-touch

我知道如何使用iPhone连接到Web服务器,但现在我必须将iPhone连接到Web服务。我不知道该怎么做,也没有在线提供的演示或课程。

有没有人有任何想法?

8 个答案:

答案 0 :(得分:20)

您可能会发现这个名为Intro to SOAP Web Services的教程非常有用。他演示了如何打包请求,将其发送到Web服务以及阅读响应。

如果您需要一些XML解析方面的帮助,那么TouchXML库将为您提供一个很好的xml“文档”。只是要小心内存使用情况。

如果必须解析大型XML消息,tutorial about libxml and xmlreader in Cocoa将向您展示如何使用较低级别的事件样式解析器解析XML。

答案 1 :(得分:16)

我为iPhone OS 3.0创建了一个开源应用程序,展示了如何使用REST& iPhone应用程序中的SOAP服务,使用XML(使用8个不同的iPhone库),SOAP,JSON(使用SBJSON和TouchJSON),YAML,协议缓冲区(Google序列化格式),甚至来自PHP示例应用程序的CSV(包含在项目中)。

http://github.com/akosma/iPhoneWebServicesClient

该项目模块化,足以支持未来的许多其他格式和库。

SlideShare中的以下演示文稿显示了我在性能,易于实施和有效负载特性方面的发现:

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

答案 2 :(得分:12)

您可以使用这两行返回HTTP请求的响应。您不需要任何配置。如果您尝试访问PHP scritp,此代码非常有用。在您必须解析结果之后。

NSURL *URL=[[NSURL alloc] initWithString:stringForURL];
NSString *results = [[NSString alloc] initWithContentsOfURL :URL];

答案 3 :(得分:3)

在我看来,你有两个选择:

  • 使用第三方库。您可以尝试wsdl2objc。它不适合我,但它正在积极发展,所以它每天都在改善。
  • 使用原始HTTP连接并处理每个请求/响应。这就是我遵循的方式。这很难,所以我也想知道更好的方法。

答案 4 :(得分:3)

您可以尝试这个我编写了一些可以包含在项目中的类,然后按照示例进行操作,如果您使用.net作为Web服务提供者,您甚至可以下载.net数据集并进行查询。 http://grabalife.com/2009/10/19/using-net-web-services-and-dataset-objects-in-your-iphone-app/

答案 5 :(得分:2)

您可能已经使用了上述解决方案之一,但Apple的这个示例应用程序非常棒。它演示了如何使用NSXMLParser来解析RSS提要上的XML数据。 SiesmicXML Example

答案 6 :(得分:1)

您还可以通过http post和/或获取

连接good example on devx

答案 7 :(得分:1)

你可以在这里找到好的例子

How to consume webservice in Iphone

它可以帮助你