由於我使用TBXML編碼了幾種其他方法來正確解析XML文件,我完全被這個問題困惑不解。下面是有問題的方法。無論我嘗試什麼,根元素都保持爲空,因此該方法的其餘部分會失敗。如您所見,XML文件位於通過PHP輸出的Web上。我已經在另一個應用程序中使用完全相同的方法,無需任何麻煩。我將XML輸出與我以前使用過的內容進行了比較,除了元素外,沒有其他區別。這個方法的代碼幾乎是一樣的,但我必須錯過一些東西。任何幫助將不勝感激。TBXML根元素始終爲空
- (void)loadFromZenPhoto{
tbxml = [[TBXML alloc] initWithURL:[NSURL URLWithString:@"http://www.flpublicarchaeology.org/civilwar/generatexml.php"]];
// Obtain root element
TBXMLElement *root = tbxml.rootXMLElement;
// if root element is valid
if (root) {
TBXMLElement *site = [TBXML childElementNamed:@"site" parentElement:root];
// if a site element was found, create site object
while (site != nil) {
Site *aSite = [[Site alloc] init];
TBXMLElement *siteid = [TBXML childElementNamed:@"id" parentElement:site];
if (siteid != nil)
aSite.siteid = [[TBXML textForElement:siteid] intValue];
TBXMLElement *parentid = [TBXML childElementNamed:@"parentid" parentElement:site];
if (parentid != nil)
aSite.parentid = [[TBXML textForElement:parentid] intValue];
TBXMLElement *folder = [TBXML childElementNamed:@"folder" parentElement:site];
if (folder != nil)
aSite.folder = [TBXML textForElement:folder];
TBXMLElement *title = [TBXML childElementNamed:@"title" parentElement:site];
if (title != nil)
aSite.title = [TBXML textForElement:title];
// add site object to the sites array
[sites addObject:aSite];
//advance to next sibling
site = [TBXML nextSiblingNamed:@"site" searchFromElement:site];
}
}
}
代碼看起來不錯。你可以NSLog XML響應? – AAV 2012-01-05 19:32:44