собираюсь получить значение из XML-ответа при анализе, но я не могу получить значение - PullRequest
1 голос
/ 20 января 2012

Ниже кода ответ от сервера:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><SendCardDetailsResponse xmlns="http://tempuri.org/"><SendCardDetailsResult><ROOT xmlns=""><DocumentElement><res-auth><auth-data count='1' ><**attribute name='OTP1'** length='6' type='N' label='OTP' prompt='Please enter OTP as send to your mobile.'/></auth-data></res-auth></DocumentElement></ROOT></SendCardDetailsResult></SendCardDetailsResponse></soap:Body></soap:Envelope>

Мне нужно получить имя атрибута, которое называется «OTP1». как я могу получить значение имени атрибута любая помощь будет ощутима

1 Ответ

0 голосов
/ 20 января 2012

Я бы использовал что-то вроде этого:

-(NSString*) getAttribute{
    NSString *attribute = @"";
    NSString *xmlString = @"";//put the XML in this NSString
    int endOfSrc = [xmlString rangeOfString:@"\"><attribute name='"].location+[xmlString rangeOfString:@"\"><attribute name='"].length;
    int borderPos = [xmlString rangeOfString:@"' length='"].location;
    if(borderPos != NSNotFound){
        NSRange range;
        range.location = endOfSrc;
        range.length = borderPos - endOfSrc;
        attribute = [xmlString substringWithRange:range];
        return attribute;
    }
    return @" ";
}

Здесь нет ничего сложного, если появятся некоторые вопросы о коде, просто посмотрите документацию по функциям, которые я здесь использовал.может быть, есть более эффективные способы, не знаю.Это работает как шарм для меня.

...