在我正在编写的类中,我很可能不得不使用NSXMLParser两次来解析两个不同的xml,我想知道我应该使用哪种方法?-解析完url后释放解析器,并在需要解析第二个url时重新初始化?-使用不同的类作为代理来解析其他url?-或者其他什么?
谢谢彼得
发布于 2010-02-03 01:39:02
根据我个人的经验,我通常必须解析几个不同的REST xml响应,并且为每个响应继承一个基类,并为每个请求/响应/解析创建一个类。尽管这不是干净的代码,但老实说,在处理SAX风格的解析器时,我发现不可能写出干净的代码。
我的建议是,如果您不想在代码中使用一堆if -else,那么可以使用单独的调用,也可以使用单独的类。现在,如果XML非常相似,它可能是一个不同的故事……
发布于 2010-02-15 15:35:45
我已经写了一个实现解析器方法的类,你只需要向它传递一个字符串(你的url)。它返回一个元素数组。它可能对你有用。
你可以在这里下载:http://www.kieranmcgrady.me/helper-classes-for-parsing-xml-files
发布于 2010-02-15 23:52:33
在过去,我经常创建类来解析我期望看到的每个响应类型,您可以重用NSXMLParser,但我真的没有看到这样做的需要。
根据您的需求,您可能只想将响应读取到嵌套的NSDictionaries中,然后直接从字典中访问所需的元素。
https://stackoverflow.com/questions/2185782
复制相似问题