开发者

get attribute values from returned XML

This is the xml I am getting from web:

<?xml version="1.0"?>
<abc>87C4A556-B7E5-5AE4-81FE-86BE0C6306E1</abc>
<abc2>P29077758</abc2>
<abc3>55AGD99D</abc3>
<abc4>147</abc4>
<abc5>1286259226</abc5>
<abc6>USA</abc6>
<abc7>US</abc7>

and using this to get attribute:

-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
    if( [elementName isEqualToString:@"a"])
    {
        recordResults = FALSE;
    //  greeting.text = soapResults;
        [soapResults release];
        soapResults = nil;
    }
}

Something like that, but I don't have any idea how can I g开发者_运维技巧et attribute from returned xml and assign those returned variables into my created variable. How can I do this?


http://blancer.com/tutorials/i-phone/76999/parsing-xml-files/ hope this helps !!!


I highly recommend using TouchXML to do your XML parsing.

I personally had all kinds of issues with NSXMLParser and ended up using TouchXML. Works a treat!


You should implement the following methods:- One way you can use is :-

  • (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
    {
    //check that the element is the one you want. If it is then initialize the string in which you want to store the value.
    if(elementName isEqualToString:@"abc")
    {
    tempString = [[NSMutableString alloc] init];
    }
    }
  • (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
    {

    [tempString appendString:string];  
    

}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if(elementName isEqualToString:@"abc")
{
self.StringToStore = tempString;
}
}

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜