2010-04-05 52 views
0

林建立一个iPhone应用程序的新版本,我想知道我是否应该检查我的应用程序如何与服务器通信。 我的iPhone客户端通过HTTP请求发送和接收XML。iPhone上的XML处理:什么是最佳选择?

发送我使用ASIHTTPRequest框架的信息。我通过附加字符串“手动”构建XML请求。

使用NSXMLParser解析响应Im。

我的问题是如果我有更好的选择 A)从内存对象中创建一个XML字符串。 B)从XML字符串中创建一个内存对象。

有没有像JAXB那样将XML编组为对象的东西?

感谢 Gonso

回答

1

我不能完全肯定这是否会为你工作,但你可以尝试使用JSON以JSON解析器如SBJSON,你基于这将在内存中创建一个对象一起数据。

要从XML提要中获取JSON,我相信您可以将XML请求发送到YQL(http://developer.yahoo.com/yql),然后可以将该提要翻译成JSON,然后再发回。

+0

感谢您的回答。 SBJSON看起来好像可以解决问题,但我无法切换到JSON,因为有其他客户端正在与同一台服务器交谈。 – gonso 2010-04-06 07:23:44

1

解析XML

我想不出东西,看起来标签和直接解析东西放到对象(XML),但一个标准线,由线分析器干这个工作。它确实需要很多代码才能使用NSXMLParser,所以只需设置一个外部类即可。它不需要那么久,很容易取消[parser abortParsing]

我基本上使用一个模型,它启动一个父元素,从细节元素获取数据,然后当父元素关闭时,解析器将临时数据,用它填充对象,并将该对象添加到数组中。然后重复这个过程。我不认为我的方式会非常有效,如果你有更多的3级XML(父母内部的根==>父母标签==>详细信息标签),但它适用于我。如果你有复杂的XML,我会找到一些方法切换到JSON并使用像Matt.M建议的SBJSON。 创建XML

如果我创建XML,我只想用一堆for环和一个大的NSMutableString的。

+0

感谢您的回答。我已经在使用解析器,但我正在寻找更类似OO的解决方案。 – gonso 2010-04-06 07:24:35

相关问题