ios - 尝试解析 XML

标签 ios xml

我正在尝试解析以下 XML 文件:

enter image description here

但是当我解析它时:

-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
    currentElementName = elementName;
}
-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
    if ([currentElementName isEqualToString:@"link"]) {
        NSLog(@"Link: %@",string);
    }
}

我得到以下 NSLOG:

 Link: http://www.flickr.com/photos/114014058@N06/
 Link: 

 Link: http://www.flickr.com/photos/114014058@N06/
 Link: 

 Link: 


 Link: http://www.flickr.com/photos/114014058@N06/11865861164/
 Link:

如您所见,我想要的 URL 没有出现,并且有一堆空 URL。

为什么?

谢谢!

编辑:

我尝试了 Rhythmic Fistman 的回答,但我得到的只是:

链接为(空)

最佳答案

尝试 didStartElement 回调。

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

elementName@"link" 时,您的 url 应该在 attributeDict[@"href"] 中。

例如

    - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {
        if([elementName isEqualToString:@"link"]) {
            NSLog(@"link is %@\n", attributeDict[@"href"]);
        }
    }

关于ios - 尝试解析 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21068086/

相关文章:

ios - UIButton 从 Core Data 增加一个数组,从另一个类完成

iphone - 在 iPhone 窗口上添加一个 View ,甚至在 UINavigationBar 上方

android - clearFocus on editText 在三星 Galaxy Tab A 上调用两次 onFocusChange (Android API 24)

c# - 从具有命名空间的 XmlNodeList 中提取节点,并且相同的子节点出现在多个级别

java - CollapsingToolbarLayout 无法识别滚动 throw

objective-c - iOS UIWebView - 陷阱异常加载无效文件格式

c# - 尝试将 protobuf-net 与预分配对象一起使用

iphone - 将 iOS 应用程序安装程序 (.ipa) 转换为 .deb

php - foreach 和 simplexml

android - 线性布局或水平 ScrollView 正在切断内容