iPhone上的XML处理:什么是最佳选择?

时间:2010-04-05 17:08:37

标签: iphone xml

我正在构建一个新版本的iPhone应用程序,我想知道我是否应该检查我的应用程序如何与服务器通信。 我的iPhone客户端通过HTTP请求发送和接收XML。

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

使用NSXMLParser解析响应。

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

有没有像JAXB那样将XML编组到对象中?

由于 Gonso

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

我不完全确定这是否适合你,但你可以尝试使用JSON和一个JSON解析器,如SBJSON,它将根据数据为你在内存中创建一个对象。

要从XML Feed中获取JSON,我相信您可以将XML请求发送到YQL(http://developer.yahoo.com/yql),然后可以将该请求转换为JSON,然后再将其发送回来。

答案 2 :(得分:1)

解析XML

我无法想到寻找标签并将事物直接解析到对象(对于XML)的东西,但是标准的逐行解析器可以完成这项工作。它确实需要很多代码来使用NSXMLParser,因此只需设置一个外部类即可。它不需要那么长时间,并且很容易取消[parser abortParsing]

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

如果我正在创建XML,我会使用一堆for循环和一个大的NSMutableString。