使用将多个值返回给iphone的Web服务

时间:2011-10-24 13:42:27

标签: iphone arrays web-services multivalue

我正在构建一个调用webservice的iPhone应用程序,它返回单值和多值。

<soap:Body>
    <VerifyAccNoResponse xmlns="http://tempuri.org/">
      <VerifyAccNoRes>boolean</VerifyAccNoRes>
    </VerifyAccNoResponse>
  </soap:Body>

我正在使用波纹管代码处理Xcode中返回的单个值

//---when the start of an element is found---
-(void) parser:(NSXMLParser *) parser 
didStartElement:(NSString *) elementName 
  namespaceURI:(NSString *) namespaceURI 
 qualifiedName:(NSString *) qName
    attributes:(NSDictionary *) attributeDict {

    if( [elementName isEqualToString:@"VerifyAccNoRes"])
    {
        if (!soapResults)
        {
            soapResults = [[NSMutableString alloc] init];
        }
        elementFound = YES;
    }
}

-(void)parser:(NSXMLParser *) parser foundCharacters:(NSString *)string
{
    if (elementFound)
    {
        [soapResults appendString: string];
    }
}

//---when the end of element is found---
-(void)parser:(NSXMLParser *)parser 
didEndElement:(NSString *)elementName 
 namespaceURI:(NSString *)namespaceURI 
qualifiedName:(NSString *)qName
{
    if ([elementName isEqualToString:@"VerifyAccNoRes"])
    {
        NSLog(soapResults); 

        if([soapResults isEqualToString:@"false"]){
            _result=@"Invalid username or password";}
        else {
            _result=@"Valid";
        }


        UIAlertView *alert = [[UIAlertView alloc] 
                              initWithTitle:@"Message"
                              message:_result 
                              delegate:self  
                              cancelButtonTitle:@"OK" 
                              otherButtonTitles:nil];
        [alert show];
        [alert release];
        [soapResults setString:@""];
        elementFound = FALSE; 
    }
}

来自webservice的返回值为amulti值为

<soap:Body>
    <GetAccResultResponse xmlns="http://tempuri.org/">
      <GetAccoResultRes>
        <Error_desc>string</Error_desc>
        <Result>
          <TAccRes>
            <Acc_ID>int</Acc_ID>
            <Acc_Name>string</Acc_Name>
          </TAccRes>
          <TAccRes>
            <Acc_ID>int</Acc_ID>
            <Acc_Name>string</Acc_Name>
          </TAccRes>
        </Result>
      </GetAccoResultRes>
    </GetAccResultResponse>
  </soap:Body>

如何在Xcode中使用这些值?

B.R

0 个答案:

没有答案