我想知道如何解析数据,例如:charcode="0x0644,0x0625"
双逗号分隔的unichar与xml文件,并将它们转换为常规的阿拉伯字母。上面的unichar是两个必须附加的常规阿拉伯字母。但我想知道如何解析它,因为我是Objective-c的新手并且不知道如何。
这就是我从xml文件中解析单个unichar的方法:
-(void)loadDataFromXML{
NSString* path = [[NSBundle mainBundle] pathForResource: @"alphabet" ofType: @"xml"];
NSData* data = [NSData dataWithContentsOfFile: path];
NSXMLParser* parser = [[NSXMLParser alloc] initWithData: data];
[parser setDelegate:self];
[parser parse];
[parser release];
}
和
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict{
if ([elementName isEqualToString:@"letter"]) {
name = [attributeDict valueForKey:@"name"];
charcode =[attributeDict valueForKey:@"charcode"];
namesound =[attributeDict valueForKey:@"namesound"];
status=@"0";
uint charValue;
[[NSScanner scannerWithString:charcode] scanHexInt:&charValue];
charcode=[NSString stringWithFormat:@"%C", charValue];
}
}
提前致谢。
答案 0 :(得分:0)
Amir,检查你的字符串是否包含逗号。如果是,则通过此逗号字符
爆炸您的字符串 NSString *testString= @"0x0644,0x0625";
NSArray *array = [testString componentsSeparatedByString:@","];
之后为每个数组提供一个for循环;将每个元素转换为字符串,对每个charcode和concatinate结果字符串进行一些转换操作