2010-12-23 27 views
1

嗨有 在我的應用程序,一切工作正常處理XML和解析它。 但由於XML是從遠程源,我想添加一些代碼,將解析它之前檢查xml是否有效;主要是因爲如果xml無效,TBXML會崩潰應用程序。檢查有效的xml - TBXML崩潰,如果無效xml

如何檢查xml是否有效?我試圖使用「嘗試」和「抓住」,但錯誤沒有被捕獲;這是我的代碼是如何

TBXMLElement * root ; 
@try { 
root = tbxml.rootXMLElement; 
} 
@catch (NSException * e) {  
NSLog(@"error"); 
} 

我做錯了什麼?

+0

我有同樣的問題,EXC_BAD_ACCESS裏面的TBXML。你找到了解決方案嗎? – Manni 2012-02-08 15:05:34

回答

0

您可以使用if語句來檢查它是否爲零。看下面的例子。

TBXMLElement * rootXMLElement = tbxml.rootXMLElement; 

    if (rootXMLElement != nil) 

     NSLog(@"ok"); 
     else 
     NSLog(@"Can't proceed: XMLElement is nil"); 
+0

我已經有了,我想趕上服務器返回一個404錯誤頁面而不是xml的情況 – Veeru 2010-12-23 07:38:35

2

您可以檢查是否有有效的根元素。像這樣:

if ([[TBXML elementName:parser.rootXMLElement] isEqualToString:@"fooBar"]) 
... 
+1

'TBXML`真的是大寫嗎?看來OP使用了一個小寫的`tbxml`變量,或者我誤解了一些東西? – nalply 2012-10-03 18:14:53