当前位置:  开发笔记 > 前端 > 正文

如何在Objective-C中解析包含XML的NSString?

如何解决《如何在Objective-C中解析包含XML的NSString?》经验,为你挑选了2个好方法。

在我的iPhone应用程序中,我有以下NSString:

NSString *myxml=@"
    Raju25
abcd
";

我该如何解析这个字符串的XML内容?



1> 小智..:

下载:https: //github.com/bcaccinolo/XML-to-NSDictionary

然后你只需:

NSDictionary *dic = [XMLReader dictionaryForXMLString:myxml error:nil];

结果是一个NSDictionary*dic,其中包含字典,数组和字符串,具体取决于XML:

{
    students =     {
        student =         {
            address = abcd;
            age = 25;
            name = Raju;
        };
    };
}



2> Jon Hess..:

您应该使用NSXMLParser类

以下是该类文档的链接:http: //developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSXMLParser_Class/Reference/Reference.html

您的代码应如下所示:

@implementation MyClass
- (void)startParsing {
    NSData *xmlData = (Get XML as NSData)
    NSXMLParser *parser = [[[NSXMLParser alloc] initWithData:xmlData] autorelease];
    [parser setDelegate:self];
    [parser parse];
}

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict {
    NSLog(@"Started %@", elementName);
}

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有