从返回的XML中获取属性值

时间:2010-10-05 06:21:34

标签: iphone

这是我从网站获取的xml:

<?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>

并使用此获取属性:

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

类似的东西,但我不知道如何从返回的xml中获取属性并将这些返回的变量分配给我创建的变量。我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

我强烈建议您使用TouchXML进行XML解析。

我个人对NSXMLParser有各种各样的问题,最后使用了TouchXML。干得好!

答案 2 :(得分:1)

您应该实施以下方法: - 您可以使用的一种方法是: -

  • (void)parser:(NSXMLParser *)解析器didStartElement:(NSString *)elementName                                     namespaceURI:(NSString *)namespaceURI                                    qualifiedName:(NSString *)qName                                       attributes:(NSDictionary *)attributeDict
    {
    //检查元素是否是您想要的元素。如果是,则初始化要存储值的字符串 if(elementName isEqualToString:@“abc”)
    {
       tempString = [[NSMutableString alloc] init];
    }
    }
  • (void)解析器:(NSXMLParser *)解析器foundCharacters:(NSString *)string
    {

    [tempString appendString:string];  
    

}
- (void)解析器:(NSXMLParser *)解析器didEndElement:(NSString *)elementName                                       namespaceURI:(NSString *)namespaceURI                                      qualifiedName:(NSString *)qName
{
        if(elementName isEqualToString:@“abc”)
    {
       self.StringToStore = tempString;
    }
}