我有两个" enclosure"不同的"类型" ... 我该如何制作解析器" audio / mpeg"解析URL .mp3以使用MediaPlayer播放
<enclosure url="http://www.radiozerosix.fr/upload/podcasts/audios/5784338b042d41.79777284.mp3" type="audio/mpeg" length="5986913"/>
<enclosure url="http://www.radiozerosix.fr/upload/podcasts/photos/main/5784338b047468.88036252_mini.png" type="image/png" length="131302"/>
答案 0 :(得分:0)
这实际上非常简单。您应该能够使用NSXMLParser的parser:didStartElement:namespaceURI:qualifiedName:attributes:
方法中的属性字典从每个enclosure元素中获取URL。
你可以像这样检索它:
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {
if ([elementName isEqualToString:@"enclosure"]) {
[self.mediaURLArray addObject:attributeDict[@"url"];
}
}
如果您只需要音频文件的网址,您也可以对其进行过滤:
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {
if ([elementName isEqualToString:@"enclosure"]) {
if ([attributeDict[@"type"] isEqualToString:@"audio/mpeg"]) {
self.mediaURL = attributeDict[@"url"];
}
}
}
完成此操作后,您应该能够使用mediaURL属性传输该音频文件。