私はしばらくこれを理解しようとしてきましたが、うまくいきません。うまくいけば、ここにいる誰かがアイデアを持っているでしょう。
解析している XML データがいくつかあります。次のようになります。
<Name>MAC 101</Name>
<Modes>
<Mode>
<Name>Basic RGB</Name>
<ChannelCount>8</ChannelCount>
</Mode>
<Mode>
<Name>Raw RGB</Name>
<ChannelCount>12</ChannelCount>
</Mode>
</Modes>
私がやっていることは、情報を SQLite データベースに保存することですが、最初にいくつかの情報を 1 つの文字列に結合する必要があります。次のような文字列が必要です: (改行あり)
8 ベーシック RGB
12 RAW RGB
ただし、複数の「モード」が存在する場合もあります。この例では 2 つしかありません。場合によっては、12 以上になることもあります。
私が使用している現在のコードは NSXMLParser です。
-(void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
if (isStatus) {
if ([elementName isEqualToString:@"Name"]) {
CurrentFixture.Title = currentNodeContent;
NSLog(@"Name: %@",currentNodeContent);
}
if ([elementName isEqualToString:@"Name"]) {
CurrentFixture.ModeName = currentNodeContent;
NSLog(@"Mode Name: %@",currentNodeContent);
}
if ([elementName isEqualToString:@"ChannelCount"]) {
CurrentFixture.ChannelCount = currentNodeContent;
NSLog(@"Channel Count: %@",currentNodeContent);
}
}
if ([elementName isEqualToString:@"Fixture"]) {
NSLog(@"Do something with data.");
[self.data addObject:CurrentFixture];
NSLog(@"Data: %@",);
CurrentFixture = nil;
currentNodeContent = nil;
}
}
モード名は、実際の名前と混同しないようにタグを変更しますが、現時点では、何かを機能させる必要があります。アドバイスやガイダンスをいただければ幸いです。ありがとうアンドリュー