ios - 使用 NSXMLParser 根据属性解析 XML

标签 ios objective-c nsxmlparser

我想根据它们的属性解析xml并保存为字典。

xml输出看起来是这样的

<Tracking event="firstElement">
http://www.firstElement.com
</Tracking>

我现在正在做的是:

获取跟踪和保存 URL 的标签名称。但在 final 中,哪个 URL 链接事件方法是未知的。

我必须将它保存在 NSDictionary 上并这样调用它:

[字典 objectForKey:@"firstElement"];

-> (NSURL *) http://www.firstElement.com

我怎样才能实现? 最好的问候..

最佳答案

您可以在 NSXMLParserDelegate 中获取事件:

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
    // reset temp data
    [self.mutableData setString:@""];

    if([elementName isEqualToString:@"Tracking"]) {
        NSString *event = [attributeDict objectForKey:@"event"];
    }
}

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
    [self.mutableData appendString:string];
}

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
    if([elementName isEqualToString:@"Tracking"]) {
        NSString *URL = [NSString stringWithFormat:@"%@", self.mutableData];
    }
}

解析获取 URL 并使用 @{event:URL} 设置字典

mutableData 是属性 MutableString

@property (nonatomic) NSMutableString *mutableData;

希望这对你有帮助:)

关于ios - 使用 NSXMLParser 根据属性解析 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27313557/

相关文章:

ios - 自动布局高度按比例但有上限限制

ios - 在 iBeacon 中发送附加数据

iphone - 完成后重置 UIScrollView 掩码中的 CAGradientLayer 位置属性动画

objective-c - 如何从 NSData 字符串数据(不是 UIImage)创建 CGImageRef

objective-c - 可以绑定(bind)到 NSDatePicker 的 timeInterval 属性吗?

iphone - 在其他方法中引用以编程方式创建的对象

ios - 后退按钮在 subview Controller 中不可见

iPhone:NSXMLParser的foundCharacters方法对单个标签多次调用

objective-c - 从应用程序包中解析 XML,而不是 URL

string - Swift String 编码和 NSXMLParser 解析问题