我一直试图弄清楚这一点,但无法解决。希望这里的人会有一个想法。
我有一些我正在解析的 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 原始 RGB
然而,有时会有多个“模式”,这个例子只有 2 个,有时可能有十几个或更多。
我正在使用的当前代码是 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;
}
}
模式名称将更改标签,因此它不会与实际名称混淆,但目前我只需要让一些工作正常。任何建议或指导将不胜感激。谢谢安德鲁