0

我正在使用 NSXMLParser 解析服务器端的 html 文件。(使用 iphone sdk 3.0)并且我的解析器在遇到任何错误后停止解析并调用委托消息

  • (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError

我的问题:遇到错误后如何解析文件。有什么办法吗?

谢谢

4

2 回答 2

2

你不能。遇到错误时停止解析。无论如何,很难知道错误的 XML 文档的其余部分是什么意思,因为文档中某个位置的任何内容的含义取决于它之前的所有内容(在这种情况下,包括错误)。

于 2009-11-13T14:05:26.460 回答
0

您正在寻找一种不同类型的解析器。“不惜一切代价”的解析器将能够做你想做的事。如果您从许多不同的来源获取 XML,这是理想的。

如果您有几个来源,您可以解决他们的问题。例如,如果您遇到的唯一问题是他们告诉您它是 UTF-8,而事实证明它是 ISO-8859-1,您可以运行一次,发现由于字符问题而失败,转换 XML从 ISO-8859-1 到 UTF-8 再试一次。由于您知道错误在哪里,您可以尝试进行某种修复。不过走这条路还是挺贵的。

于 2009-11-17T01:10:09.130 回答