我是iPhone开发的新手,这个问题可能很简单,但我不知道答案。
问题:我有这个XML代码:
<im:image height="53">
picture52x52.jpg
</im:image>
<im:image height="75">
picture75x75.jpg
</im:image>
<im:image height="100">
picture100x100.jpg
</im:image>
我只需解析第二个元素(第二个元素,第二个图片),但我不知道如何。我总是解析三个元素,但我只需要一个。
答案 0 :(得分:2)
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
NSString *imageSize = [NSString stringWithString:[attributeDict valueForKey:@"height"]];
if([imageSize isEqualToString:@"75"])
{
// parse something like this
}
}
答案 1 :(得分:0)
您必须智能地使用这两种方法:
parser:foundCharacters:
parser:didEndElement:namespaceURI:qualifiedName:
请参阅此链接 - Handling XML Elements and Attributes
答案 2 :(得分:0)
让我再建议一个解决方案,你可以在CDATA中附上图片名称,即。像这样生成xml -
<im:image height="53">
<![CDATA[picture52x52.jpg]]>
</im:image>
<im:image height="75">
<![CDATA[picture75x75.jpg]]>
</im:image>
<im:image height="100">
<![CDATA[picture100x100.jpg]]>
</im:image>
只需使用此委托方法:
- (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock
如果它是CDATA块中唯一包含的元素。
希望你理解;)