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

iPhone上的XML处理:最佳选择是什么?,iphone,xml,Iphone,Xml,我正在构建一个新版本的iPhone应用程序,我想知道我是否应该回顾一下我的应用程序是如何与服务器通信的。 我的iPhone客户端通过HTTP请求发送和接收XML 要发送信息,我使用AsitpRequest框架。我通过附加字符串“手动”构建XML请求 使用NSXMLParser解析响应Im 我的问题是我是否有更好的选择 A) 从内存对象创建XML字符串。 B) 从XML字符串创建内存对象 是否有类似JAXB的东西可以将XML封送到对象中 谢谢 Gonso我不完全确定这是否适用于您,但您可以尝试使用

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

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

使用NSXMLParser解析响应Im

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

是否有类似JAXB的东西可以将XML封送到对象中

谢谢
Gonso

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


要从XML提要中获取JSON,我相信您可以将XML请求发送到YQL(),然后YQL()可以将提要转换为JSON,然后再将其发送回去。

我不完全确定这是否适用于您,但您可以尝试将JSON与JSON解析器(如SBJSON)一起使用,后者将根据数据在内存中为您创建一个对象


要从XML提要获取JSON,我相信您可以将XML请求发送到YQL(),YQL()可以在将提要发送回之前将其转换为JSON。

解析XML

我想不出有什么东西可以查找标记并将内容直接解析为对象(对于XML),但标准的逐行解析器可以完成这项工作。使用NSXMLParser确实需要很多代码,所以只需设置一个外部类即可。它不需要那么长时间,而且很容易取消
[解析器中止rsing]

我基本上使用了一个模型,在该模型中,它启动一个父元素,从detail元素获取数据,然后当父元素关闭时,解析器获取临时数据,用它填充一个对象,并将该对象添加到数组中。然后重复这个过程。如果您有超过3个级别的XML(root==>parent tags==>parent中的details tags),我认为我的方法不会非常有效,但它适合我。如果您有复杂的XML,我会找到一些方法切换到JSON,并像Matt.M建议的那样使用SBJSON。 创建XML


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

解析XML

我想不出有什么东西可以查找标记并将内容直接解析为对象(对于XML),但标准的逐行解析器可以完成这项工作。使用NSXMLParser确实需要很多代码,所以只需设置一个外部类即可。它不需要那么长时间,而且很容易取消
[解析器中止rsing]

我基本上使用了一个模型,在该模型中,它启动一个父元素,从detail元素获取数据,然后当父元素关闭时,解析器获取临时数据,用它填充一个对象,并将该对象添加到数组中。然后重复这个过程。如果您有超过3个级别的XML(root==>parent tags==>parent中的details tags),我认为我的方法不会非常有效,但它适合我。如果您有复杂的XML,我会找到一些方法切换到JSON,并像Matt.M建议的那样使用SBJSON。 创建XML

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

看看XML

看看TouchXml


谢谢你的回答。SBJSON看起来可以解决这些问题,但我无法切换到JSON,因为还有其他客户端与同一台服务器通信。谢谢你的回答。SBJSON看起来可以解决这些问题,但我无法切换到JSON,因为还有其他客户端与同一台服务器通信。谢谢你的回答。我已经在使用解析器了,但是我正在寻找一个更像面向对象的解决方案。谢谢你的回答。我已经在使用解析器了,但是我正在寻找一个更像OO的解决方案。