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

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

【问题讨论】:

    标签: iphone objective-c xml-parsing


    【解决方案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]
      

      【讨论】:

      • 在我看来并不太破旧。它出什么问题了? (请更新您的答案并对我的答案发表评论,而不是回答您的问题 - 当您这样做时我没有收到通知,所以我无法做出反应。)
      猜你喜欢
      • 2011-06-01
      • 1970-01-01
      • 2013-11-11
      • 2019-10-07
      • 1970-01-01
      • 2022-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多