在解析时从xml响应中获取值但我无法获得值

时间:2012-01-20 09:17:39

标签: iphone xcode xml-parsing objective-c-2.0

以下代码是来自服务器的响应:

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 :(得分:0)

我会像这样使用smth:

-(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 @" ";
}

这里没什么难的,如果出现关于代码的一些问题,请参阅我在这里使用的函数的文档。 也许有更有效的方式,不知道。它对我来说就像一个魅力。