我正在使用下面的代碼,它給了我解析後的一個元素的字符串,而我想在第一個元素的結果的基礎上獲得另一個元素的文本。objective-c:Webservice,如何在通過NSXMLParser解析之後獲取兩個元素?
例如我從ResponseType得到bool值,現在基於該值我想獲得另一個元素的值(「TotalAmt」)。並且如果ResponseType爲0 anohter字段出現在DeclineReason的代碼中,然後我想要獲取DeclineReason的值。
<AuthorizeResult>
<ResultCode>Success</ResultCode>
<RequestTime>2011-09-30T01:42:54.1834586-04:00</RequestTime>
<ResultObj>
<RequestId>55258</RequestId>
<ResponseType>1</ResponseType>
<UserType>Permanent</UserType>
<RequestDate>2011-09-30T05:42:54.481</RequestDate>
<TransactionId>0081315926057572</TransactionId>
<TransactionCode>001440</TransactionCode>
<TotalAmt>1</TotalAmt>
<UserId>47</UserId>
</ResultObj>
</AuthorizeResult>
我這個代碼,但它不是幹活G和得到 「的responseType」
-(void) parser:(NSXMLParser *) parser didStartElement:(NSString *) elementName namespaceURI:(NSString *) namespaceURI qualifiedName:(NSString *) qName attributes:(NSDictionary *) attributeDict {
if ([elementName isEqualToString:@"ResponseType"])
{
if (!soapResults)
{
soapResults = [[NSMutableString alloc] init];
elementFound = YES;
}
}
}
//---when the text in an element is found---
-(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:@"ResponseType"])
{ //---displays the country---
NSLog(@"%@", soapResults);
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Response Type!" message:soapResults delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
[alert release];
[soapResults setString:@""];
elementFound = FALSE;
}
}