有没有一种简单的方法来使用iPhone开发人员的web服务?

有没有一种简单的方法来使用iPhone开发人员的web服务?,iphone,xml,Iphone,Xml,我们希望获取XML数据并将其转换为NSDictionary对象,但不希望手动迭代XML。有没有一个简单的方法可以做到这一点?如何为iPhone应用程序提供web服务?如果可以控制服务器输出,请尝试使用plists。否则,您将不得不解析XML(如果服务器可以解析,也可以解析JSON),但您可以使用一些框架。看看答案 此外,下面是如何在iphone上实现RESTful客户端的一个很好的概述: 如果您可以控制XML输出,您可以尝试创建一个属性列表,然后使用-dictionaryWithContents

我们希望获取XML数据并将其转换为NSDictionary对象,但不希望手动迭代XML。有没有一个简单的方法可以做到这一点?如何为iPhone应用程序提供web服务?

如果可以控制服务器输出,请尝试使用plists。否则,您将不得不解析XML(如果服务器可以解析,也可以解析JSON),但您可以使用一些框架。看看答案

此外,下面是如何在iphone上实现RESTful客户端的一个很好的概述:


如果您可以控制XML输出,您可以尝试创建一个属性列表,然后使用-dictionaryWithContentsOfURL将其读入字典:(不过更好的异步方式是使用NSURLConnection获取数据,然后使用NSString上的-propertyList方法转换数据)。您可以在此处找到有关属性列表的更多信息:


当然,最好的解决方案是使用RESTful客户机,并结合使用NSURLConnection来获取/发送数据和TouchXML类()来解析数据,尽管这需要更多的工作才能将数据放入字典中。当然,如果这些将成为系统中的主要数据对象,您确实希望使用自定义类或SQLite来存储数据,因为它在测试应用程序时比字典更可靠。

您可以以JSON格式返回数据。iPhone上有许多开源JSON解析器(TouchJSON就是其中之一)

还有另一个可用的类称为NSPropertyListSerialization,它可以从数据中获取字典

您可以对收到的数据执行类似的操作

NSDictionary*propertyList
NSPropertyListFormat格式
NSString*errorStr

propertyList=[NSPropertyList序列化
propertyListFromData:receivedData
可变选项:NSPropertyListMutable
格式:&格式
错误描述:&errorStr]


对不起,不知道这里使用什么标记来格式化代码

我同意RESTful方法是最好的,但是使用plists而不是TouchXML来处理来自服务器的传入数据仍然更好。使用REST并不排除使用plist格式发送数据…CreatingRestfulClient页面现在仅在archive.org上可用。