わかりました基本的に、私はサブ要素を解析しようとしています:
<element>
<sub element 1>
<sub element 2>
<sub element 3>
<element>
解析したい現在の元のドキュメントには、次のように含まれています。たとえば、 sub-element-content1:AB, CD, DE, & SOMETHING DISPLAYED
です。
掴めただけ& SOMETHING DISPLAYED
。サブ要素全体を解析できませんでした。
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
currentNodeContent = (NSMutableString *)[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
//NSLog(@"CURRENT CONTENT: %@", currentNodeContent);
}
それが第1号です。私が抱えている2番目の問題は、上記に関連して11のアイテムがあるはずだということです。しかし、それは2つのアイテムしかつかむことができませんでした。一部のサブ要素を除いて、各アイテムにはサブ要素が含まれていることに注意してください。null
Issues has been added: (null)-(null)-(null)
Issues has been added: sub-element-1 sub-element2 sub-element3
以下はの一部ですdidEndElement
:
if ([elementName isEqualToString:@"Issue"]) {
//add currentIssue object into issues array
[issues addObject:currentIssue];
NSLog(@"Issues has been added: %@-%@-%@", currentIssue.sub-element-1, currentIssue.sub-element-2, currentIssue.sub-element-3);
currentIssue = nil;
currentNodeContent = nil;
}
if ([elementName isEqualToString:@"sub element 1"]) {
currentIssue.sub-element-1 = currentNodeContent;
NSLog(@"sub element 1: %@", currentIssue.sub-element-1);
}
if ([elementName isEqualToString:@"sub element 2"]) {
currentIssue.sub-element-2 = currentNodeContent;
NSLog(@"sub element 2: %@", currentIssue.sub-element-2);
}
if ([elementName isEqualToString:@"sub element 3"]) {
currentIssue.sub-element-3 = currentNodeContent;
NSLog(@"sub element 3: %@", currentIssue.sub-element-3);
}
アドバイスや提案をお待ちしております。
更新 1: OK、問題を解決しました。
currentNodeContent を出力できたため、「currentIssue = nil」によりオブジェクトの内容が失われたようです。
そのため、currentIssue を削除することで、必要なすべての要素を確認できるようになりました。
しかし、もう1つ問題があります。これですべてのサブ要素が表示されますが、部分的に取得されたサブ要素が 1 つしか残っていないため、理由がわかりません。