我正在使用一个由 blogger 编写的类,它接受一个XML字符串并吐出一个NSDictionary。
它很漂亮......效果很好,但我的标签没有被解析。因为在那个班级他用过如下
NSString *const kXMLReaderTextNodeKey = @"text";
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
// Update the parent dict with text info
NSMutableDictionary *dictInProgress = [dictionaryStack lastObject];
// Set the text property
if ([textInProgress length] > 0)
{
[dictInProgress setObject:textInProgress forKey:kXMLReaderTextNodeKey];
// Reset the text
[textInProgress release];
textInProgress = [[NSMutableString alloc] init];
}
// Pop the current dict
[dictionaryStack removeLastObject]; }
请帮我解决这个问题......
非常感谢
答案 0 :(得分:2)
注意:确保您正在解析的XML不包含名为“text”的字段!您可以通过编辑XMLReader.m顶部的kXMLReaderTextNodeKey常量将其更改为非冲突名称。
这是在BLOGGER网站上。在XMLReader.m文件中,您NSString *const kXMLReaderTextNodeKey = @"text";
与您的xml标记<text>
冲突,因此要么将您的xml字段标记从<text>
更改为其他内容,或者
更改NSString *const kXMLReaderTextNodeKey = @"text";
到NSString *const kXMLReaderTextNodeKey = @"textdata";
之后使用NSDictionary作为例程代码。看看,告诉我。