0

在我正在写的一个类中,我很可能必须使用 NSXMLParser 两次来解析两个不同的 xml,我想知道我应该使用哪种方法?- 解析完url后释放解析器并在需要解析第二个url时重新初始化?- 使用不同的类作为解析其他 url 的委托?- 或者是其他东西?

谢谢彼得

4

3 回答 3

1

以我自己的个人经验,我通常不得不解析几个不同的 REST xml 响应,我为每个响应继承一个基类并为每个请求/响应/解析创建一个类。恕我直言,虽然这不是干净的代码,但老实说,在处理 SAX 样式的解析器时,我发现不可能编写干净的代码。

如果您不希望代码中有一堆 if-else,我的建议是单独的调用和单独的类。现在,如果 XML 非常相似,那可能就是另一回事了……

于 2010-02-02T17:39:01.957 回答
0

我编写了一个实现解析器方法的类,您只需向它传递一个字符串(您的 url)。它返回一个元素数组。它可能对你有用。

你可以在这里下载:http ://www.kieranmcgrady.me/helper-classes-for-parsing-xml-files

于 2010-02-15T07:35:45.470 回答
0

在过去,我经常创建类来解析我希望看到的每种响应类型,您可以重用一个 NSXMLParser,但我真的没有看到需要这样做。

根据您的要求,您可能只想将响应读入嵌套的 NSDictionaries,然后直接从字典中访问您需要的元素。

于 2010-02-15T15:52:33.490 回答