我想根据它们的属性解析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/