私はTBXMLを使用していくつかの他のメソッドをコーディングしてXMLファイルを適切に解析しているので、私は完全に困惑しています。以下は問題の方法です。私が何を試しても、ルート要素はnullのままなので、残りのメソッドは失敗します。ご覧のとおり、XMLファイルはPHP経由で出力されるWeb上にあります。私はこの全く同じ方法を別のアプリケーションで使っていますが、何の問題もありません。私はXML出力を以前使用したものと比較して、要素以外の違いは見ないようにしました。このメソッドのコードはほぼ同じですが、私は何かが欠落しているに違いありません。どんな助けでも大歓迎です。TBXMLルート要素常にnull
- (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];
}
}
}
コードは私によく見えます。あなたはXML応答をNSLogできますか? – AAV