如何在文档中下载和保存 xml,然后如何从文档中解析 xml 文件?

Posted

技术标签:

【中文标题】如何在文档中下载和保存 xml,然后如何从文档中解析 xml 文件?【英文标题】:how to Download and save xml in documents and then how to parse xml file from documents? 【发布时间】:2011-03-11 01:46:34 【问题描述】:

在我的应用程序中,我必须解析从互联网下载的 xml 文件。如何下载此 xml 并保存在 iphone 上的文档中?那么如何开始解析保存在文档中的 XML 呢?

【问题讨论】:

【参考方案1】:

第一次加载时将内容下载到NSData 对象。使用任一方法将其保存到磁盘

– writeToFile:atomically:
– writeToFile:options:error:

这里的 NSData 类参考中有描述:http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSData_Class/Reference/Reference.html#//apple_ref/occ/instm/NSData/writeToFile:atomically:

当您想从磁盘加载它时,请使用[NSData dataWithContentsOfFile:] 再次将其加载到 NSData 对象中。

至于将 NSData 解析为 XML,请查看这个非常非常常见问题的其他答案,例如How do I parse an NSString containing XML in Objective-C?

【讨论】:

【参考方案2】:

你的意思是这样的

NSString *URLString = @"http://www.example.com/XML/note.xml";
NSURL *URL = [NSURL URLWithString:
              [URLString stringByAddingPercentEscapesUsingEncoding:
               NSASCIIStringEncoding]];


NSData *dataXML = [NSData dataWithContentsOfURL:URL];

NSString *applicationDocumentsDir = 
[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *storePath = [applicationDocumentsDir stringByAppendingPathComponent:@"sample.xml"];
[dataXML writeToFile:storePath atomically:TRUE];
    NSData *contenuto = [NSData dataWithContentsOfFile:storePath];
    NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:contenuto]

【讨论】:

在我看来并不太破旧。它出什么问题了? (请更新您的答案并对我的答案发表评论,而不是回答您的问题 - 当您这样做时我没有收到通知,所以我无法做出反应。)

以上是关于如何在文档中下载和保存 xml,然后如何从文档中解析 xml 文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何保存或下载网页中的pdf文档?

如何将解析和更改的 DOM 文档保存在 xml 文件中?

如何通过级联QML在blackberry 10设备文档目录中创建XML文件?

如何从 iCloud 打开 PDF

java中如何生成word文档的目录页

如何使用 spring 集成 dsl 从 JMS 队列中解组 XML