NSDictionary在解析后返回null值

时间:2012-12-27 13:35:44

标签: iphone objective-c ios xcode xml-parsing

我正在为我的应用做XMLParsing。要在字典中获取已解析的值,我使用了XMLReader.hXMLReader.m文件。它适用于所有Web服务,但返回null。它以XML格式给出了正确的答案。

以下是我在字典中获取值的代码

-(void)parser:(NSXMLParser *) parser foundCharacters:(NSString *)string
{

    if(elementFound)
    {
        [soapResults appendString:string];
        NSLog(@"soap result of hotel  is %@",soapResults);
        NSError *parseError = nil;
        NSDictionary *xmlDixtionary =  [XMLReader dictionaryForXMLString:soapResults error:&parseError];

        NSLog(@"dictionary is  is %@",xmlDixtionary);
    }

}

但是日志给了我一个null值,我该怎么做才能在字典中获取值?

2 个答案:

答案 0 :(得分:1)

soapResults不是您要搜索的完整字符串,您只需要向其附加一段字符串。您需要继续附加字符并仅在元素的末尾创建字典。

实施此方法:

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName;

答案 1 :(得分:1)

我找到了适合你的东西:XML Parsing - NSXMLParserErrorDomain error 5

它显示了编码问题的可能性。

另一个链接:[iPhone] Can not parse simple XML

希望它对你有用。