使用NSXMLParser根据属性解析XML

时间:2014-12-05 10:16:26

标签: ios objective-c nsxmlparser

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

xml输出似乎是

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

我现在正在做的是:

获取标记名称,即跟踪和保存URL。但最后,哪个URL链接事件方法未知。

我必须将其保存在NSDictionary上并将其称为:

[dictionary objectForKey:@“firstElement”];

- &GT; (NSURL *)http://www.firstElement.com

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

1 个答案:

答案 0 :(得分:2)

您可以在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;

希望这可以帮助你:)