我使用的NSXMLParser來解析服務器端的HTML文件。(使用iPhone SDK 3.0) 和我的解析器停止解析其遇到之後的任何錯誤,並調用該委託消息的NSXMLParser錯誤
- (無效)解析器:(*的NSXMLParser)分析器parseErrorOccurred:(NSError *)parseError
我QUES:我怎麼能解析該文件就遇到error.Is後,有什麼辦法可以做到這一點。
謝謝
我使用的NSXMLParser來解析服務器端的HTML文件。(使用iPhone SDK 3.0) 和我的解析器停止解析其遇到之後的任何錯誤,並調用該委託消息的NSXMLParser錯誤
我QUES:我怎麼能解析該文件就遇到error.Is後,有什麼辦法可以做到這一點。
謝謝
你不能。遇到錯誤時停止解析。無論如何,很難知道錯誤的XML文檔的其餘部分是什麼意思,因爲文檔中某個位置的任何內容的含義取決於之前發生的所有事情(在這種情況下,包括錯誤)。
您正在尋找另一種解析器。一個"at-all-costs"解析器將能夠做你想做的。如果你從很多不同的來源獲得XML,這是理想的。
如果你有幾個來源,你可以解決他們的問題。例如,如果你得到的唯一問題是他們告訴你它是UTF-8,事實證明它是ISO-8859-1,你可以運行一遍,發現它由於字符問題而失敗,將XML從ISO-8859-1到UTF-8再試一次。既然你知道錯誤發生在哪裏,你可以嘗試做一些修復。儘管走這條路線相當昂貴。