Разберите двойную запятую, отделяющую unichar от xml, и отобразите ее обычными арабскими буквами. - PullRequest
0 голосов
/ 30 марта 2012

Я хочу знать, как я могу анализировать данные, такие как: charcode="0x0644,0x0625" двойная запятая отделяет unichar от xml файла и преобразовывает их в обычную арабскую букву Уничар выше - это две обычные арабские буквы, которые необходимо добавить. Но мне интересно, как разобрать это, потому что я новичок в объективе-c и не знаю как.

Вот как я проанализировал один unichar из XML-файла:

-(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 голосов
/ 30 марта 2012

Амир, проверь, содержит ли твоя строка запятую.Если да, то взорвите вашу строку с помощью этой запятой char

 NSString *testString= @"0x0644,0x0625";
 NSArray *array = [testString componentsSeparatedByString:@","];

После этого создайте цикл for для каждого вашего массива;преобразовать каждый элемент в строку, выполнить некоторые операции преобразования с каждым кодовым символом и объединить строки результата

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...