解析双逗号分隔unichar与xml并以常规阿拉伯字母显示

时间:2012-03-30 14:51:31

标签: objective-c

我想知道如何解析数据,例如: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];

  }
}

提前致谢。

1 个答案:

答案 0 :(得分:0)

Amir,检查你的字符串是否包含逗号。如果是,则通过此逗号字符

爆炸您的字符串
 NSString *testString= @"0x0644,0x0625";
 NSArray *array = [testString componentsSeparatedByString:@","];

之后为每个数组提供一个for循环;将每个元素转换为字符串,对每个charcode和concatinate结果字符串进行一些转换操作