iOS中的解析器单行XML

时间:2011-12-19 05:51:47

标签: ios xml

我有一个如下所示的XML:

<boolean xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</boolean>

我试图读取布尔值是真还是假但我似乎无法找到答案。也许我忽略了一些非常简单的事情。

这是我的iOS代码:

- (void) startParsing:(NSURL *) dataReceived{
    NSLog(@"StartPasing started");
    NSXMLParser *responseParser = [[NSXMLParser alloc]
                                  initWithContentsOfURL:dataReceived];
    responseParser.delegate = self;

    [responseParser parse];
    [responseParser release];
    [dataReceived release];
}

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName
   namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName
   attributes:(NSDictionary *)attributeDict {

   NSLog(@"Parser started");    

   if ([elementName isEqualToString:@"boolean"]) {
      NSLog(@"Found boolean");

      //I'M NOT SURE HOW TO READ THE VALUE INSIDE MY ELEMENT. 
   }
}

我的代码找到了布尔元素,但是我无法从元素中获取数据。我很确定这是一个简单的问题,我非常感谢一些帮助。感谢

1 个答案:

答案 0 :(得分:1)

假设您正在使用NSXMLParser并实现NSXMLParserDelegate,您需要实现方法-parser:foundCharacters:,以便它在可变字符串或其他适当的存储区域中累积字符。然后,当您调用-parser:didEndElement:方法时,您可以查看累积的字符串并根据需要进行解释。在这种情况下,您可能只是将它与@“true”进行比较。